将我自己的功能添加到OpenCV

时间:2013-04-16 17:29:41

标签: c++ visual-studio-2010 opencv cmake

我需要添加一个新方法来计算连接组件到OpenCV 2.4.4,以便在我自己的一个项目中使用。我已经拥有this question功能的代码(感谢jason),我导航到the patch,在那里我找到了代码和标题。

我所做的是在connectedcomponents.cpp中添加一个新文件C:\opencv\modules\imgproc\src,我在其中放置了这个新函数的代码。接下来,我转到了C:\opencv\modules\imgproc\include\opencv2\imgproc,并将相应的导出标头添加到imgproc.hpp。最后,我使用Visual Studio 2010在OpenCV源代码中重建了opencv_imgproc项目。一切都很好,并为我生成opencv_imgproc244.dllopencv_imgproc244.libopencv_imgproc244.exp文件。

现在,我将这些文件(除了.exp除外,我找不到它应该去哪里?)复制到我现有的OpenCV目录中并替换旧文件。当我现在尝试构建我自己的项目时,一切仍然很好,但我无法从这里访问新方法。我包含#include <opencv2/imgproc/imgproc.hpp>,从这里我可以访问文件中的所有其他方法,除了我想要的新方法。

事实上,一切都在编译,但方法没有暴露,这让我觉得还有一些其他文件我也应该改变,但是,由于缺乏经验,我不知道这个文件可能在哪里或者是什么

额外信息: 我正在使用Visual Studio 2010,OpenCV 2.4.4并使用CMake 2.8.10.2构建OpenCV 我知道有一些像cvBlobsLib这样的库来计算连接组件,我已经成功地在我的项目中使用了它们。但是,我想要一个更快,更新的解决方案(cvBlobsLib仍然使用旧的IplImage)。

1 个答案:

答案 0 :(得分:1)

所以今天早上用一双新眼睛看问题后,我立即发现了我的错误。我最初做的是在

中添加新功能的标题代码

C:\opencv\modules\imgproc\include\opencv2\imgproc\imgproc.hpp

但我应该做的也是将它添加到

C:\opencv\build\include\opencv2\imgproc\imgproc.hpp

因为这是使用OpenCV的任何项目所包含的文件。一切都按计划进行。