这是我得到的确切的错误。 我的操作系统是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错误 ),并做了以下。 它为我工作:
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 ..
注意它正在抱怨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