Opencv 3.0 python imshow error

Estoy usando OpenCV 3.0 con python 2.7.6 y ROS Indigo. Lo instalé y estoy intentando detectar el objeto ORB. Irónicamente, todo el código de detección real parece ejecutarse sin problemas. El código que no funciona es imshow. Da este error:

Error de OpenCV: error no especificado (la función no está implementada. Reconstruya la biblioteca con Windows, GTK + 2.x o Carbon. Si está en Ubuntu o Debian, instale libgtk2.0-dev y pkg-config, luego vuelva a ejecutar cmake o configurar script) en cvShowImage, archivo /tmp/buildd/ros-indigo-opencv3-2.9.6-1trusty-20150512-2345/modules/highgui/src/window.cpp, línea 534

No he visto nada de esto durante mi búsqueda de Google. ¿Alguna ayuda?

Como dice el mensaje, necesitas reconstruir la biblioteca con gtk. Ingrese a su carpeta OpenCV y cree una nueva carpeta con el nombre Release.

cd ~/OpenCV mkdir Release cd Release 

Ahora necesitas reconstruir OpenCV. Usa el siguiente comando

 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 .. 

Recuerda usar WITH_GTK=ON mientras construyes. Después de esto, ingrese estos comandos

 make sudo make install 

Ahora ejecuta tu código. Esto debería hacer que funcione. Puede eliminar la carpeta de comstackción antigua.

El proceso completo consiste en volver a comstackr OpenCV 3 y copiar esas nuevas bibliotecas comstackdas con las opciones correctas en el entorno ROS.

Me encontré con el mismo problema al progtwigr un robot Baxter y necesitaba resolverlo.

Así que lo siguiente debe hacerse:

  • Descargue la última versión estable http://opencv.org/downloads.html

    • Extráigalo en algún lugar y siga los pasos de KiranCP. Esto llevará un tiempo comstackr dependiendo de su máquina.
    • Una vez finalizado, debe copiar las bibliotecas que se muestran en el siguiente paso.
    • La información se toma de este sitio -> https://sites.google.com/site/rameyarnaud/research/ros/latest-opencv-in-ros pero publicaré la información aquí:

       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 /lib/libopencv* /opt/ros/`rosversion -d`/lib/ ls -hal /opt/ros/`rosversion -d`/lib/libopencv* 

      El entorno de ROS debe configurarse correctamente, de lo contrario volverá Rosversion.

Después de esto, deberías poder usar OpenCV 3 e imshow correctamente.