YoloV3: неопределенный символ: _ZN9_IplImageC1ERKN2cv3MatE при сборке с OpenCV

Я использую https://github.com/AlexeyAB/darknet для запуска Yolo V3, а даркнет построен с использованием OpenCV 3.4.0.

Когда я попытался запустить эту команду ./darknet detector train data/obj.data cfg/objyolov3.cfg darknet53.conv.74 для обучения моего собственного набора данных, обучение с OPENCV = 0 работает успешно, но когда я строю с OPENCV=1, я получил следующую ошибку:

Loading weights from darknet53.conv.74...
 seen 64 
Done!
Learning Rate: 0.001, Momentum: 0.9, Decay: 0.0005
 If error occurs - run training with flag: -dont_show 
Resizing
896 x 896 
./darknet: symbol lookup error: ./darknet: undefined symbol: _ZN9_IplImageC1ERKN2cv3MatE

Изображение диаграммы появилось, но сразу закрылось, добавление -dont_show тоже не помогло. Я не мог найти подобную проблему в Интернете, какое решение для этого?


person gameon67    schedule 27.02.2019    source источник


Ответы (1)


Я знаю, что такая проблема встречается очень редко. Но мне удалось решить эту проблему после обсуждения с автором репо. Insted построил даркнет с использованием make, он работает, когда я построил даркнет с использованием cmake.

  • Отредактируйте CMakeLists.txt в папке darknet и добавьте эту строку: SET(OpenCV_DIR /home/<Change this to your OPENCV path installation>/OpenCV-3.4.0/share/OpenCV/)
  • cmake .
  • make

Исходная проблема с github: https://github.com/AlexeyAB/darknet/issues/2489

person gameon67    schedule 04.03.2019
comment
Я не вижу файла CMakeLists.txt в репозитории даркнета. Какую версию даркнета вы используете и где находится текстовый файл? - person Bizmate; 30.08.2020