Я выполнил шаги вики, чтобы установить mexopencv , но я получаю следующую ошибку:
$ make MATLABDIR=/usr/local/MATLAB/R2018a WITH_CONTRIB=true all contrib
/tmp/mex_17713079591682_20541/Net_.o: In function `mexFunction':
Net_.cpp:(.text+0x10dd): undefined reference to `cv::dnn::experimental_dnn_v3::Net::Net()'
Net_.cpp:(.text+0x11ac): undefined reference to `cv::dnn::experimental_dnn_v3::readNetFromCaffe(cv::String const&, cv::String const&)'
Net_.cpp:(.text+0x122a): undefined reference to `cv::dnn::experimental_dnn_v3::Net::~Net()'
.. and so on
Если я вижу, что должно быть встроено в opencv, присутствует модуль dnn, что заставляет меня задуматься.
-- General configuration for OpenCV 3.4.0 =====================================
-- OpenCV modules:
-- To be built: aruco bgsegm bioinspired calib3d ccalib core datasets dnn dpm face features2d flann freetype fuzzy hdf highgui img_hash imgcodecs imgproc line_descriptor ml objdetect optflow phase_unwrapping photo plot python_bindings_generator reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking video videoio videostab xfeatures2d ximgproc xobjdetect xphoto
-- Disabled: js python2 python3 world
-- Disabled by dependency: -
-- Unavailable: cnn_3dobj cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv dnn_modern java matlab ovis sfm ts viz
Встроенные модули:
$ pkg-config --cflags --libs opencv
-I/usr/local/include/opencv ..etc.. -lopencv_dnn .. etc
Текущая версия opencv:
$ pkg-config --modversion opencv
3.4.0
Вопрос есть; Есть ли способ обойти / исправить это, то есть отключить / отменить связь dnn?
Или как мне на самом деле скомпилировать файл dnn, необходимый для работы этой ссылки?
{edit 1} файл фактически скомпилирован в:
$ ls /usr/local/include/opencv2/
...
bioinspired dnn fuzzy imgproc optflow saliency superres videoio xphoto.hpp
bioinspired.hpp dnn.hpp fuzzy.hpp imgproc.hpp
...
{edit 2} Отключение -lopencv_dnn в make-файле mexopencv путем добавления:
CV_LDFLAGS := $(filter-out -lopencv_dnn,$(CV_LDFLAGS))
не вариант, так как по-прежнему происходит сбой компиляции по неопределенной ссылке на cv :: dnn :: экспериментальный_днн_v3. Так что, думаю, мне нужно исправить это.