opencv 3.0 python imshow错误

时间:2015-05-26 06:02:35

标签: python opencv ros

我正在使用OpenCV 3.0和python 2.7.6以及ROS Indigo。我安装了它,并试图做一些ORB对象检测。具有讽刺意味的是,所有实际的检测代码似乎都没有问题。不起作用的代码是imshow。它给出了这个错误:

  

OpenCV错误:未指定错误(该功能未实现。使用Windows,GTK + 2.x或Carbon支持重建库。如果您使用的是Ubuntu或Debian,请安装libgtk2.0-dev和pkg-config,然后重新安装-cun cmake或configure script)在cvShowImage中,文件/tmp/buildd/ros-indigo-opencv3-2.9.6-1trusty-20150512-2345/modules/highgui/src/window.cpp,第534行

在我的谷歌搜索中,我还没有看到这些。有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

如消息所示,您需要使用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

现在运行你的代码。这应该使它工作。您可以删除旧的构建文件夹。

答案 1 :(得分:1)

完整的过程包括重新编译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并正确显示。