opencv 3.0 python imshow error

Я использую OpenCV 3.0 с python 2.7.6 и ROS Indigo. Я установил его и попытаюсь сделать некоторое обнаружение объекта ORB. По иронии судьбы, все фактические коды обнаружения, кажется, работают без проблем. Код, который не работает, – imshow. Он дает эту ошибку:

Ошибка OpenCV: ошибка Unspecified (функция не реализована). Перестройте библиотеку с поддержкой Windows, GTK + 2.x или Carbon. Если вы находитесь на Ubuntu или Debian, установите libgtk2.0-dev и pkg-config, затем повторно запустите cmake или настроить скрипт) в cvShowImage, файл /tmp/buildd/ros-indigo-opencv3-2.9.6-1trusty-20150512-2345/modules/highgui/src/window.cpp, строка 534

Я не видел этого во время моего поиска. Любая помощь?

2 Solutions collect form web for “opencv 3.0 python imshow error”

Как говорится в сообщении, вам нужно перестроить библиотеку с помощью gtk. Войдите в свою папку OpenCV и создайте новую папку с именем Release.

cd ~/OpenCV mkdir Release cd Release 

Теперь вам нужно перестроить OpenCV. Используйте следующую команду

 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON .. 

Не забудьте использовать WITH_GTK=ON при построении. После этого введите эту команду

 make sudo make install 

Теперь запустите свой код. Это должно заставить его работать. Вы можете удалить старую папку.

Полный процесс включает перекомпиляцию OpenCV 3 и копирование этих новых скомпилированных библиотек с правильными параметрами среды ROS.

Я столкнулся с тем же вопросом при программировании робота Baxter и должен был его решить.

Итак, необходимо сделать следующее:

  • Загрузите последнюю версию стабильной версии http://opencv.org/downloads.html

    • Извлеките его в каком-то месте и выполните шаги KiranCP. Это займет некоторое время, в зависимости от вашего устройства.
    • После завершения вам нужно скопировать библиотеки, которые показаны на следующем шаге.
    • Информация взята с этого сайта -> https://sites.google.com/site/rameyarnaud/research/ros/latest-opencv-in-ros, но я опубликую информацию здесь:

       sudo chmod a+rw -R /opt/ros/`rosversion -d`/lib/ mkdir /opt/ros/`rosversion -d`/lib/libopencv_backup mv /opt/ros/`rosversion -d`/lib/libopencv*.so* /opt/ros/`rosversion -d`/lib/libopencv_backup cp <OPENCV_BUILD_FOLDER>/lib/libopencv* /opt/ros/`rosversion -d`/lib/ ls -hal /opt/ros/`rosversion -d`/lib/libopencv* 

      Ваша среда ROS должна быть настроена правильно, иначе rosversion вернется.

После этого вы сможете использовать OpenCV 3 и правильно нарисовать.

Python - лучший язык программирования в мире.