Python Opencv imshow错误

时间:2017-06-08 11:06:02

标签: python opencv

我的代码:

import cv2
img = cv2.imread("dU4fHDw-Ho.jpg", cv2.IMREAD_GRAYSCALE)

cv2.imshow('image', img)
k = cv2.waitKey(0)
if k == 27:
    cv2.destroyWindow()

我得到了这个错误:

OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvShowImage, file /io/opencv/modules/highgui/src/window.cpp, line 583
Traceback (most recent call last):
  File "simpleopencv.py", line 4, in <module>
    cv2.imshow('image', img)
cv2.error: /io/opencv/modules/highgui/src/window.cpp:583: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvShowImage

我正在使用linux mint KDE 可能是什么问题?

Update1:​​Opencv适用于python2.7但不适用于python3.5

Update2:因为事实证明正在运行script,因为Jack Gold建议实际工作,但因为我已经在我的 / usr / local / lib中有了 cv2 文件夹/python3.5/dist-packages/(使用PIP安装,我认为)与使用脚本的一次安装发生冲突,而python3使用PIP版本保持冲突,所以我删除了 cv2 文件夹并重新启动,一切正常。

5 个答案:

答案 0 :(得分:2)

没有什么可担心的伙伴,我遭遇了同样的事情,这就是我如何摆脱这个错误,看看你是否通过pip或pip3或apt-get安装了opencv,首先你要卸载它

sudo pip3 uninstall (what you wrote while installing)

or sudo pip uninstall (what you wrote while installing)

or sudo apt-get remove (what you wrote while installing)

然后从github的源代码构建opencv包。

git clone https://github.com/opencv/opencv.git

cd ~/opencv

mkdir release

cd release

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

make

sudo make install

这将解决问题。一切顺利。

答案 1 :(得分:0)

不确定问题,因为它适用于我。但是作为替代方案,使用Matplotlib的plt.imshow(),它也可以正常工作。

答案 2 :(得分:0)

您是否使用pip安装OpenCV?如果你这样做,请注意如上所述[{3}},这是OpenCV的非官方软件包,并且不支持GUI窗口(cv2.imshow()等)

我建议使用Anaconda使用conda install -c conda-forge opencv=3.2.0conda install -c menpo opencv3=3.2.0安装opencv

答案 3 :(得分:0)

conda提供更简单的解决方案

  

conda install -c loopbio -c conda-forge -c pkgw-forge ffmpeg-feature ffmpeg gtk2 opencv

conda install

后,您可能会看到以下错误
Traceback (most recent call last):
    File "./test.py", line 21, in <module>
      import cv2
ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory

只需安装openblas库即可解决

  

yum install openblas-devel -y

参考

[sdvillal | github] https://github.com/conda-forge/opencv-feedstock/issues/43

答案 4 :(得分:0)

您应该使用绝对路径读取图像。

在Mac OS上对我来说:

img = cv2.imread('/Users/nicholasleung/Documents/after effect/AL.png')