1

我需要向 OpenCV 2.4.4 添加一种计算连接组件的新方法,以便在我自己的一个项目中使用。我已经有了这个问题的函数代码(感谢jason),我导航到找到代码和标题的补丁。

我所做的是在 中添加一个新文件connectedcomponents.cppC:\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)。

4

1 回答 1

1

所以今天早上用新的眼睛看问题后,我立即发现了我的错误。我最初所做的是将新函数的标头代码添加到

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

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

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

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

于 2013-04-17T08:07:59.640 回答