在这里,我刚刚开始我的Fyp和ints gona在opencv中。
我需要对图像进行矢量化处理,然后选择使用cvblobslib。
我下载了它并成功构建了它,但是当我在项目中使用它时,出现链接错误,提示“无法打开cvblobslib.obj”。
确切的字符串粘贴在下面

致命错误LNK1104:无法打开文件'E:\ Faizan \ myWork \ moCap \ blobslib \ Debug \ cvblobslib.obj'

我在网上找到并在我的项目上尝试过的解决方案之一是删除路径中的任何空格,以 Release模式而不是 Debug模式进行构建,但是问题并未解决。
问题是在构建cvblobslib时,声明的文件不会与其他文件一起构建,即,在声明的文件夹中不存在该文件。

任何 body 都请解决

最佳答案

cvBlobsLib是使用Microsoft Visual C++ (6.0)开发的,也可以在.NET.中使用。可以下载Linux版本here
cvBlobsLib分布在静态库(.lib)中。要使用它,需要先构建.lib文件,然后再在所需项目中使用该lib文件。要构建.lib文件,只需打开MSVC++项目并进行构建(调试或发行版本)。

要在要使用库的地方构建项目,请按照以下步骤(MSVC++ 6.0):

Project/Settings/C++/Preprocessor/Additional Include directories中添加存储Blob库的目录
Project/Settings/Link/Input/Additional library path中,添加存储Blob库的目录,在Object/Library modules中,添加cvblobslib.lib文件
在要使用Blob变量的位置包含文件BlobResult.h
Project/Settings/C++/Precompiled Headers中选择Not use precompiled headers注意:验证在使用cvblobslib.lib的项目中,MFC运行时库没有混合:

checkin 项目的Project->Settings->C/C++->Code Generation->Use run-time library并将其设置为
调试多线程DLL(调试版本)或调试到多线程DLL(发行版本)。
检查“项目->设置->常规”如何使用MFC。它应该是“在共享的DLL中使用MFC”。
注意:可以使用以下步骤在.NET中编译和使用该库,但是菜单选项可能有所不同

注2:在.NET版本中,.lib和项目中的字符集必须相等。 [OpenCV雅虎小组:Msg 35500]

注3:从OpenCV v2.2开始构建时, cvBlobsLib可能会出错。尝试在BlobLibraryConfiguration.h文件中注释掉这一行:

#define _SHOW_ERRORS

注4:如果您为图像使用新的cv::Mat而不是旧的IplImage,则可以轻松地在它们之间进行转换,例如通过遵循OpenCV C++ Cheatsheet.

10-07 15:42