Я был в этом в течение 2 дней и попробовал каждое возможное решение, которое я могу найти через поисковик. Но я все еще застрял здесь.
Я скачал пакет для реализации суперпикселя из Вот.
Функция на C ++, но mex-файл был сгенерирован для 64-битной ОС Linux. Я использую 64-разрядную версию Windows 8, поэтому мне нужно создать один 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)
Я не смог пройти через это. Я получил ту же ошибку, когда выполнил это в кодовых блоках, даже после связывания библиотек, каталогов компилятора и библиотек компоновщиков и каталогов, как это предлагалось многими сайтами / форумами.
Я получил ответ.
во время редактирования 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. Но основной, по крайней мере, 1-й 4. после добавления сохранить и скомпилировать файл mex. В pdf имена библиотек будут другими, так как она была создана во время старых версий opencv