使用OpenCV C ++模块扩展python

时间:2013-06-08 09:05:36

标签: c++ python opencv

我一直在尝试使用C ++编写的OpenCV模块来扩展python。 我在这期间遇到了两个问题。

1)Setup.py - 如何在这里包含cv.h库?

libraries = ['opencv'],
library_dirs = ['/usr/local/lib'],

2)在C ++模块文件中导入cv.h?

#include "cv.h"
using namespace cv;

引发编译时错误 - t1.cpp:3:16: fatal error: cv.h: No such file or directory

2 个答案:

答案 0 :(得分:1)

让它工作

1)在Setup.py中

include_dirs = ['/usr/local/include'],
libraries = ['opencv_core', 'opencv_highgui'],
library_dirs = ['/usr/local/lib'],

2) C++ module

#include <opencv/cv.h>

#include <opencv/cv.h>

答案 1 :(得分:0)

如果标头路径上有#include <opencv2/opencv.hpp>,则C ++标头文件为/usr/local/include。所以你应该做的是 -

#include <opencv2/opencv.hpp>
using namespace cv;

至于包含用于链接的OpenCV libarries,您应该查看/usr/local/lib/libopencv*中的库。有几个OpenCV库,每个库对应一个包,因此如果您不使用该包,则可能不需要链接所有库。

就个人而言,我会通过静态链接您的模块与libopencv.a并将整个模块链接到Python来工作。如果您对链接的额外代码感到困扰,可以删除未使用的符号。