如何在opencv中更改源代码?

时间:2017-05-18 22:12:01

标签: c++ opencv machine-learning

我试图通过传递一个名为std :: pair&的额外变量来改变opencv svm预测函数。 ,这样我就可以从该函数中获取类标签以及决策函数值。我在/home/rakib/opencv-2.4.9/modules/ml/src/svm.cpp中更改了源代码,并在头文件中添加了函数声明。问题是当我重建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接口有关的内容。

所以非常感谢任何帮助解决这个问题。

2 个答案:

答案 0 :(得分:0)

如果您更改了源代码并希望在python中看到更改,那么您还需要重新生成python绑定。
有关详细信息,请参阅here

答案 1 :(得分:0)

使用cmake解决问题-D BUILD_NEW_PYTHON_SUPPORT = OFF

相关问题