在这里,我刚刚开始了我的fyp,并且incona在opencv中。 我需要对图像进行矢量化,为了做到这一点,我选择使用cvblobslib。 我下载了它并且它已成功构建但是当我在我的项目中使用它时出现链接错误,说“无法打开cvblobslib.obj” 确切的字符串粘贴在
下面致命错误LNK1104:无法打开文件'E:\ Faizan \ myWork \ moCap \ blobslib \ Debug \ cvblobslib.obj'
我在网上找到并在我的项目中尝试的解决方案的是删除路径中的任何空格,构建在发布模式而不是在调试模式,但问题没有解决。 事情是,当构建cvblobslib时,声明的文件不会与其他文件一起构建,即它在指定的文件夹中不存在。
任何人都请给出解决方案
答案 0 :(得分:1)
您到底想要使用cvblobslib到底是什么?我也尝试过使用它而没有运气。我发现openCV有很多相同的功能。例如,您可以使用cvCountours检测“blob”并按区域过滤它们。
(ps。我试着将此作为评论。你需要一定数量的代表吗?)
答案 1 :(得分:0)
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运行时库不会混合:
签入项目的Project->Settings->C/C++->Code Generation->Use run-time library
并将其设置为
调试多线程DLL(调试版本)或多线程DLL(发行版)。
检查“项目 - >设置 - >常规”它如何使用MFC。它应该是“在共享DLL中使用MFC”。
注意:可以使用此步骤在.NET中编译和使用库,但菜单选项可能略有不同
注2:在.NET版本中,.lib和项目中的字符集必须相等。 [OpenCV yahoo group:Msg 35500]
注意3: cvBlobsLib
在使用OpenCV v2.2以后构建时可能会出错。尝试在文件BlobLibraryConfiguration.h
中注释掉这一行:
#define _SHOW_ERRORS
注4:如果您使用新的cv::Mat
代替旧版IplImage
,则可以轻松地在它们之间进行转换,例如按照{ {3}}