2013-04-16 29 views
1

我需要添加一个新方法来计算连接组件到OpenCV 2.4.4以用于我自己的项目之一。我已经有this question(感谢jason)的函数代码,我导航到the patch,我找到了代码和头文件。将我自己的函数添加到OpenCV中

我所做的是在C:\opencv\modules\imgproc\src中添加一个新文件connectedcomponents.cpp,其中我放置了这个新函数的代码。接下来,我去了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和内置的OpenCV与CMake的2.8.10.2 据我所知,有libaries如cvBlobsLib即计算连接的部件,我已经成功地使用这些中我的项目。但是,我想要一个更快,更新的解决方案(cvBlobsLib仍然使用旧的IplImage)。

+0

你可以添加一个关于如何使用cmake和visual studio 2010从源代码编译OpenCV的详细教程吗?或至少有一个很好的参考帮助你。我总是以一些错误结束。 –

+0

您是否将您的函数/定义标记为CV_EXPORTS? – berak

+0

@AbidRahmanK,我不想在这里进行讨论,但我最初的构建是在一段时间之前,如果我能找到我将粘贴它的链接。 @berak,是的,我和'.hpp'文件中的所有其他问题完全一样,我认为它是'CV_EXPORTS_W',但是我添加了它。 – casper

回答

1

所以今天早上用一双新鲜的眼睛看着这个问题后,我立刻发现了自己的错误。我本来是添加新功能的头代码

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

但我应该已经做了是也把它添加到

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

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

相关问题