3

関数を呼び出すために OpenCV の Python バインディングを使用していますmatchTemplate。これは私が必要とする唯一の機能です。を呼び出せるようにするにはmatchTemplate、OpenCV の python バインディングcv2.pydを (Windows) アプリケーションに同梱する必要がありますが、これは 9 MB にもなります。

必要なモジュールのみが含まれるように OpenCV (の Python バインディング) を構築する方法はありますcv2.pydか? matchTemplateモジュールの一部であるように思われるので、imgproc本当に必要なのは OpenCVcoreimgproc.

私はすでに OpenCV の CMake オプションをいじってみましたが、いくつかのモジュールしかビルドできなかったと思います。ただし、たとえばcalib3dCMakeBUILD_OPENCV_calib3dを false に設定して単一のモジュールを無効にするとすぐに、Python ビルドも「失われます」。つまり、CMake を使用してcalib3dとを除くすべてのモジュールをビルドするための Visual Studio ソリューション ファイルを生成する python、Visual Studio ソリューションには と を除くすべてのモジュールが含まれ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 でビルドしています。

ありがとう!

4

0 に答える 0