我已经在这2天了,并尝试了通过搜索引擎找到的所有可能的解决方案。但我仍然被困在这里。
我从here下载了一个用于超像素实现的软件包。
该函数是用C ++编写的,但是为Linux 64位操作系统生成了一个mex文件。我使用Windows 8 64位,所以我必须为我的系统生成一个mex文件。
文件已在网站的包中提供。在mex设置并提供适当的openCV路径和环境变量之后,我运行了代码compile_mex.m
mex -IB:\Opencv\opencv\build\include\opencv -c seeds2.cpp
mex mexSEEDS.cpp -IB:\Opencv\opencv\build\include\opencv seeds2.obj
我收到以下错误,因此无法找到解决方案
mexSEEDS.obj : error LNK2019: unresolved external symbol cvSaveImage referenced in function "void __cdecl SaveImage(unsigned int *,int const &,int const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?SaveImage@@YAXPEAIAEBH1AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
我无法通过这个。我在codeblocks中执行此操作时遇到了同样的错误,即使在链接了libraires,编译器目录以及许多站点/论坛建议的链接器库和目录之后也是如此。
答案 0 :(得分:0)
我得到了答案。
在编辑 mexopts.bat 时,在将库添加到 LINKFLAGS 时,从/ build / x64 / vc10 / lib
添加以下库core249 and 249d
flann249 (and the same as above. rest also have the tag 249 and 249d. this is the version number. 2.4.9 in my case)
highgui
imageproc
legacy
objdetect
原因是所有这些都是编译mexseeds.cpp所必需的。但基本是至少第一个4.添加保存并编译mex文件后。在pdf中,库名称将不同,因为它是在旧版本的opencv
期间创建的