如何在 OpenCV 中更改源代码

how to change source code in opencv?

本文关键字:源代码 OpenCV      更新时间:2023-10-16

我正在尝试通过传递一个名为std::p air的额外变量来更改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接口的关系到目前为止我理解了。

因此,非常感谢解决此问题的任何帮助。

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

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