【发布时间】:2013-04-16 17:29:41
【问题描述】:
我需要向 OpenCV 2.4.4 添加一种计算连接组件的新方法,以便在我自己的一个项目中使用。我已经从this question 获得了函数的代码(感谢jason),我导航到the patch,在那里我找到了代码和标题。
我所做的是在C:\opencv\modules\imgproc\src 中添加一个新文件connectedcomponents.cpp,我在其中放置了这个新函数的代码。接下来,我去了C:\opencv\modules\imgproc\include\opencv2\imgproc,并将适当的导出标头添加到imgproc.hpp。最后,我使用 Visual Studio 2010 在 OpenCV 源代码中重建了 opencv_imgproc 项目。一切正常,并为我生成了 opencv_imgproc244.dll、opencv_imgproc244.lib 和 opencv_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)。
【问题讨论】:
-
您能否添加详细教程,说明您如何使用 cmake 和 Visual Studio 2010 从源代码编译 OpenCV?或者至少分享一个对你有帮助的好参考。我的总是会出现一些错误。
-
您是否将您的函数/定义标记为 CV_EXPORTS ?
-
@AbidRahmanK,我不想在这里讨论,但我的原始版本是前段时间,如果我能找到链接,我会粘贴它。 @berak,是的,我的做法与
.hpp文件中的所有其他问题完全相同,我认为是CV_EXPORTS_W,但我确实添加了它。
标签: c++ visual-studio-2010 opencv cmake