我正在使用 OpenCV 的 Python 绑定来调用函数matchTemplate
。这是我需要的唯一功能。为了能够调用matchTemplate
,我必须将 OpenCV 的 python 绑定cv2.pyd
与我的 (Windows) 应用程序一起提供,该应用程序重达 9MB。
有没有什么方法可以构建(Python 绑定)OpenCV,只包含我需要的模块cv2.pyd
?matchTemplate
似乎是imgproc
模块的一部分,所以我认为我只需要 OpenCVcore
和imgproc
.
我已经尝试过使用 OpenCV 的 CMake 选项,并且我想我已经设法只构建了一些模块。但是,一旦我禁用单个模块,比如calib3d
将 CMake 设置BUILD_OPENCV_calib3d
为 false,我也会“丢失”Python 构建。换句话说,当我使用 CMake 生成 Visual Studio 解决方案文件以构建除calib3d
和with python
之外的所有模块时,Visual Studio 解决方案包含除 and 之外的所有calib3d
模块 python
。我尝试通过从调用python
中删除来修改模块的 CMakeLists 文件calib3d
ocv_add_module
ocv_add_module(python BINDINGS opencv_core opencv_flann ...)
以及包含标题的设置
set(opencv_hdrs
"${OPENCV_MODULE_opencv_core_LOCATION}/include/opencv2/core/core.hpp"
...
不幸的是,无济于事。有人知道怎么做这个吗?
我正在使用 Microsoft Visual Studio 2012 进行构建。
谢谢!