2017-05-18 4 views
0

std :: pair &という余分な変数を渡してopencv svm predict関数を変更しようとしています。その関数からクラスラベルと決定関数の値を取得できます。私は/home/rakib/opencv-2.4.9/modules/ml/src/svm.cppでソースコードを変更し、ヘッダファイルに関数宣言を追加しました。問題は、私がopencvを再構築すると、次のエラーが出るということです。opencvでソースコードを変更するには?

Scanning dependencies of target opencv_python 
[ 75%] Building CXX object modules/python/CMakeFiles/opencv_python.dir/src2/cv2.cpp.o 
In file included from /home/rakib/opencv-2.4.9/modules/python/src2/cv2.cpp:1129:0: 
/home/rakib/opencv-2.4.9/build/modules/python/pyopencv_generated_types.h: In function ‘PyObject* pyopencv_CvSVM_predict(PyObject*, PyObject*, PyObject*)’: 
/home/rakib/opencv-2.4.9/build/modules/python/pyopencv_generated_types.h:4878:5: error: ‘pair_double_and_double’ was not declared in this scope 
    pair_double_and_double labConCount; 
    ^
/home/rakib/opencv-2.4.9/build/modules/python/pyopencv_generated_types.h:4878:28: error: expected ‘;’ before ‘labConCount’ 
    pair_double_and_double labConCount; 
          ^
/home/rakib/opencv-2.4.9/build/modules/python/pyopencv_generated_types.h:4885:40: error: ‘labConCount’ was not declared in this scope 
     pyopencv_to(pyobj_labConCount, labConCount, ArgInfo("labConCount", 0)) && 
             ^
make[2]: *** [modules/python/CMakeFiles/opencv_python.dir/src2/cv2.cpp.o] Error 1 
make[1]: *** [modules/python/CMakeFiles/opencv_python.dir/all] Error 2 
make: *** [all] Error 2 

私はOpenCVののC++コードを変更したいが、それはいくつかの方法のpython OpenCVのインタフェースに関連するこれまでのところ、私は理解しますが。

この問題を解決するための助けがあれば幸いです。

答えて

0

ソースを変更しても、Pythonの変更を確認したい場合は、Pythonバインディングも再生成する必要があります。
詳細については、hereを参照してください。

+0

私はすばやく返信することをうれしく思います。実際には私はPythonに関連するものは何も必要ありません。私はちょうど私のC + +プロジェクトのためにそれをしたい。だから他の提案! – rakib

+0

問題ないですが、Pythonのためにコンパイルしないように、CMakeのpython引数を何も明示的に設定する必要があります。 –

+0

引数が-D BUILD_opencv_python2 = OFFになると思います –

0

この問題は、cmake -D BUILD_NEW_PYTHON_SUPPORT = OFFを使用して解決しました。

関連する問題