Я собрал opencv 3.0 из исходного кода и могу запускать несколько примеров приложений, собирать по заголовкам, поэтому я предполагаю, что он успешно установлен.
Я также использую python3, и теперь я иду, чтобы установить и собрать caffe. Я установил несколько переменных в Makefile.config, так как использую ЦП из-за наличия AMD GPU и Anaconda.
Когда я запускаю make all, я получаю эту ошибку:
$ make all
CXX/LD -o .build_release/examples/cpp_classification/classification.bin
/usr/bin/ld: .build_release/examples/cpp_classification/classification.o: undefined reference to symbol '_ZN2cv6imreadERKNS_6StringEi'
//usr/local/lib/libopencv_imgcodecs.so.3.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:565: recipe for target '.build_release/examples/cpp_classification/classification.bin' failed
make: *** [.build_release/examples/cpp_classification/classification.bin] Error 1
я думаю, что это связано с использованием openCV 3, но я не уверен, с чего начать поиск решения. Любая помощь?
И да, я один из множества неопытных пользователей, которые хотят освоить технику обучения Google Inception.
Возможно, вы используете OpenCV версии 3. Если да, просто удалите комментарий в следующей строке Makefile.config
:
# OPENCV_VERSION := 3
Так будет выглядеть
OPENCV_VERSION := 3
Вы можете проверить версию, используемую в настоящее время, выполнив:
$ python
>>> import cv2
>>> cv2.__version__
'3.1.0-dev'
Сообщение о проблеме очень ясно. Существует проблема со связыванием библиотек библиотек. Причиной может быть разница между 3.0 и 2.x.
Вам нужно добавить
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
в БИБЛИОТЕКИ + =.
я использовал cmake
вместо этого с -DBUILD_TIFF=ON
флаг и получил успешную сборку.