wrap opencv c++ for python
来源:互联网 发布:svd算法原理 编辑:程序博客网 时间:2024/05/13 11:23
how opencv do ?
opencv_hdrs: 头文件集合
set(opencv_hdrs "${OPENCV_MODULE_opencv_core_LOCATION}/include/opencv2/core/core.hpp" "${OPENCV_MODULE_opencv_flann_LOCATION}/include/opencv2/flann/miniflann.hpp" "${OPENCV_MODULE_opencv_imgproc_LOCATION}/include/opencv2/imgproc/imgproc.hpp" "${OPENCV_MODULE_opencv_video_LOCATION}/include/opencv2/video/background_segm.hpp" "${OPENCV_MODULE_opencv_video_LOCATION}/include/opencv2/video/tracking.hpp" "${OPENCV_MODULE_opencv_photo_LOCATION}/include/opencv2/photo/photo.hpp" "${OPENCV_MODULE_opencv_highgui_LOCATION}/include/opencv2/highgui/highgui.hpp" "${OPENCV_MODULE_opencv_ml_LOCATION}/include/opencv2/ml/ml.hpp" "${OPENCV_MODULE_opencv_features2d_LOCATION}/include/opencv2/features2d/features2d.hpp" "${OPENCV_MODULE_opencv_calib3d_LOCATION}/include/opencv2/calib3d/calib3d.hpp" "${OPENCV_MODULE_opencv_objdetect_LOCATION}/include/opencv2/objdetect/objdetect.hpp" "${OPENCV_MODULE_opencv_contrib_LOCATION}/include/opencv2/contrib/contrib.hpp")
gen.py 头文件分析,
add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated0.i COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/src2/gen.py" "${CMAKE_CURRENT_SOURCE_DIR}/src2" DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src2/api DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src2/defs DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src2/gen.py)
gen2.py 头文件分析
add_custom_command( OUTPUT ${cv2_generated_hdrs} COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/src2/gen2.py" ${CMAKE_CURRENT_BINARY_DIR} ${opencv_hdrs} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src2/gen2.py DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src2/hdr_parser.py DEPENDS ${opencv_hdrs})
library
add_library(${the_module} SHARED src2/cv2.cpp ${CMAKE_CURRENT_BINARY_DIR}/generated0.i ${cv2_generated_hdrs} src2/cv2.cv.hpp)
cv2.cpp 为源文件,generated0.i 为gen.py转换src2目录下的文件得到,${cv2_generated_hdrs}为gen2.py转换${opencv_hdrs}得到。opencv中采用的转换方式是自己的一套,而且只有针对C++的部分特性,因此对于一些例外,需要采用手动生成python封装。如下图,在misc/python 中的文件都是为了手动转换这些例外。因此,opencv自带的一套很难被重用。
0 0
- wrap opencv c++ for python
- opencv for python
- OpenCV for Python 安装
- OpenCV for Python 学习笔记
- Installation steps for python-opencv
- 【OpenCV-Python】Python Extension Packages for Windows
- MultiBoolean for C++/Python
- wrap
- wrap
- wrap()
- Python for opencv 之 播放视频
- opencv for python 之 突出点检测
- opencv for python 之 模板匹配
- opencv for python 之人脸识别
- using OpenCV with python for descriptor extraction
- opencv for python 显示图像,简单示例
- 编译OpenCV for Python的所需类库
- Opencv for Python 学习笔记 2.1 摄像头
- AEAI DP V3.6.0 升级说明,开源综合应用开发平台
- php 接口的token
- ubuntu安装redis流程
- HIVE 中内连接(JOIN ON) 与 LEFT SEMI JOIN 分析
- “埃尼阿克”背后的6个女孩
- wrap opencv c++ for python
- 该符号在函数 "public: __thiscall _bstr_t::_bstr_t(wchar_t const *)" (??0_bstr_t@@QAE@PB_W@Z) 中被引用
- java js cookie
- eclipse远程调试Tomcat方法
- webx概念学习
- Swift禁用UIWebView和WKWebView的下拉拖动效果
- 网站安全检测工具
- Android Studio 2.2 NDK开发环境搭建
- 论 java.net.SocketException: sendto failed: EPIPE (Broken pipe) 的解决办法