我正在使用 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 文件calib3docv_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 进行构建。
谢谢!