OpenCV无法正常使用python与Linux anaconda。 得到错误,cv2.imshow()没有实现

这是我得到的确切的错误。 我的操作系统是Ubuntu 16.10。

OpenCV错误:未指定的错误(该function没有实现,用Windows,GTK + 2.x或Carbon支持重build库如果你在Ubuntu或Debian上,请安装libgtk2.0-dev和pkg-config,然后重新运行cmake或configuration脚本)在cvShowImage,文件/feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp,行545追溯(最近的最后一次调用最后):文件“untitled.py”,第7行,在cv2.imshow('image',img)cv2.error:/feedstock_root/build_artefacts/work/opencv-3.1.0/modules/highgui/src/window.cpp:545:error:(-2)该函数是未实现。 用Windows,GTK + 2.x或Carbon支持重build库。 如果您在Ubuntu或Debian上,请安装libgtk2.0-dev和pkg-config,然后重新运行cmake或在函数cvShowImage中configuration脚本

我的代码是:

import numpy as np import cv2 # Load an color image in grayscale img = cv2.imread('0002.png',0) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows() 

0002.png是与程序位于同一目录的图像。 我先用python 3.5安装了anaconda,然后用命令安装了opencv

 conda install -c conda-forge opencv 

我安装了libgtk2.0-dev,就像错误说的那样,但是我仍然得到相同的错误。 任何帮助将非常感激。 我一直在试图解决这个问题好几个小时。

1.最简单的方法:

 conda remove opencv conda update conda conda install --channel menpo opencv 

或(对于OpenCV 3.1):

 conda install -c menpo opencv3 

如果你不想这样做,你可以尝试使用matplotlib

 import cv2 import matplotlib.pyplot as plt img = cv2.imread('img.jpg',0) plt.imshow(img, cmap='gray') plt.show() 

或者尝试用你自己的WITH_GTK=ON来建立图书馆,或者像这样的。

如果您在任何时候使用opencv-python pip软件包安装OpenCV,请注意以下注意事项,摘自https://pypi.python.org/pypi/opencv-python

重要说明 MacOS和Linux车轮目前有一些限制:

  • 视频相关的功能不支持(不使用FFmpeg编译)
  • 例如cv2.imshow()将不起作用(不能用GTK + 2.x或Carbon支持编译)

另外请注意,要从其他源安装,首先必须删除opencv-python软件包

我遵循这个教程( OpenCV GTK + 2.x错误 ),并做了以下。 它为我工作:

  1. 安装软件包:libgtk2.0-dev和pkg-config
  2. cd到你的opencv目录
  3. mkdir发布
  4. 光盘释放
  5. 运行以下命令: 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 ..
  6. 使
  7. sudo make install

注意它正在抱怨libgtk2.0-dev和pkg-config。 这是解决方案。 卸载您现有的openCV安装。

conda删除opencv3

在安装opencv-conda install gtk2 pkg-config之前安装这些软件包

现在从menpo conda install -c安装opencv https://conda.anaconda.org/menpo opencv3