使用OpenCV c++模块扩展python
Extending python with a OpenCV C++ module
我一直在尝试用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
让它工作
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/highgui.h>
The C++ header file is #include <opencv2/opencv.hpp>
, if you have /usr/local/include
on your header path. So what you should be doing is -
#include <opencv2/opencv.hpp>
using namespace cv;
至于包括OpenCV库进行链接,您应该查看/usr/local/lib/libopencv*
中的库。有几个OpenCV库,每个库对应一个包,所以如果你不使用那个包,你可能不需要链接所有的库。就我个人而言,我会通过将您的模块与libopencv.a
静态链接并将整个模块链接到Python来工作。如果您担心额外的代码被链接,您可以去掉未使用的符号。
相关文章:
- 是否可以通过C++扩展强制多个python进程共享同一内存
- C++返回 Numpy 数组的 Python 扩展模块
- 我想通过带有C++和Python的插件创建一个可扩展的应用程序
- 我应该包含什么来制作 boost.python 扩展?
- 通过Python Distutils(用于Python C扩展)使用可重定位的设备代码编译CUDA代码
- 编译boost_python扩展无法在 python 2.7 中导入
- 为什么我无法打开/读取从 Python 调用的 C 扩展名中的 txt 文件?
- 如何构建一个 setup.py 来编译C++使用 Python、pybind11 和 Mingw-w64 的扩展?
- C++ Python 的扩展 - 安全内存访问和内存布局
- Python & C-C++ 扩展模块案例段故障
- 通过 cmake 从C++扩展构建 Python 子模块
- 带有CMake和SetupTools的Python 2.7 C++扩展
- 使用C 扩展Python/numpy,模块在初始化时崩溃
- 如何用C++扩展Python
- 速度-在c++中嵌入python或用c++扩展python
- 使用OpenCV c++模块扩展python
- 嵌入扩展python会占用所有内存
- OSX如何在用c++扩展python时调试malloc错误
- 扩展Python:处理numpy数组
- 复杂的数据结构,同时嵌入扩展 Python 与C++