Python Opencv imshow错误

Python Opencv imshow错误,python,opencv,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

我的代码:

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
OpenCV错误:未指定的错误(该函数未实现。使用Windows、GTK+2.x或Carbon支持重建库。如果您在Ubuntu或Debian上,请安装libgtk2.0-dev和pkg-config,然后重新运行cmake或configure脚本),位于cvShowImage文件/io/OpenCV/modules/highgui/src/window.cpp的第583行
回溯(最近一次呼叫最后一次):
文件“simplepencv.py”,第4行,在
cv2.imshow(“图像”,img)
cv2.error:/io/opencv/modules/highgui/src/window.cpp:583:error:(-2)未实现该函数。使用Windows、GTK+2.x或碳纤维支架重建库。如果您在Ubuntu或Debian上,请安装libgtk2.0-dev和pkg-config,然后在函数cvShowImage中重新运行cmake或配置脚本
我正在使用LinuxMintKDE 有什么问题吗

Update1:Opencv可以在python2.7上正常工作,但不能在python3.5上工作


更新2:事实证明,按照Jack Gold的建议运行实际上是可行的,但由于我的/usr/local/lib/python3.5/dist-packages/(我认为它是使用PIP安装的)中已经有了cv2文件夹,因此与使用脚本的安装冲突,而python3一直使用PIP版本,我删除了cv2文件夹并重新启动,一切正常。

我不确定这个问题,因为它对我来说工作正常。但也可以使用Matplotlib中的plt.imshow(),它也可以正常工作。

我不确定这个问题,因为它对我来说可以正常工作。但是,作为一种替代方法,使用Matplotlib中的plt.imshow(),它也可以正常工作。

是否使用pip安装OpenCV?如果有,请注意,如前所述,这是OpenCV的非官方软件包,不支持GUI窗口(
cv2.imshow()
,等等)

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

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

是否使用pip安装opencv?如果有,请注意,如前所述,这是OpenCV的非官方软件包,不支持GUI窗口(
cv2.imshow()
,等等)


我建议使用Anaconda安装opencv,使用
conda install-c conda forge opencv=3.2.0
conda install-c menpo opencv3=3.2.0
没什么好担心的,伙计,我也遇到了同样的问题,这就是我如何摆脱这个错误的,看看你是否通过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

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

没什么好担心的,伙计,我也遭受了同样的痛苦,这就是我如何摆脱这个错误的,看看你是否已经通过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

这将解决问题。一切都是最好的。

康达提供了更简单的解决方案

conda安装-c loopbio-c conda forge-c pkgw forge ffmpeg功能ffmpeg gtk2 opencv

在conda安装之后,您可能会看到以下错误

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
回溯(最近一次呼叫最后一次):
文件“/test.py”,第21行,在
进口cv2
ImportError:libopenblas.so.0:无法打开共享对象文件:没有此类文件或目录
只要安装openblas库就可以解决这个问题

yum安装openblas-devel-y

参考文献


[sdvillal|github]

康达提供了更简单的解决方案

conda安装-c loopbio-c conda forge-c pkgw forge ffmpeg功能ffmpeg gtk2 opencv

在conda安装之后,您可能会看到以下错误

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
回溯(最近一次呼叫最后一次):
文件“/test.py”,第21行,在
进口cv2
ImportError:libopenblas.so.0:无法打开共享对象文件:没有此类文件或目录
只要安装openblas库就可以解决这个问题

yum安装openblas-devel-y

参考文献


[sdvillal|github]

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

对于Mac OS上的我:

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

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

对于Mac OS上的我:

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

您丢失了一些库,请参考我的答案-我仍然收到相同的错误嗯,事实上它已经修复了它,谢谢您丢失了一些库,请参考我的答案-我仍然收到相同的错误嗯,事实上它确实修复了它,谢谢您尝试了,但是matplotlib的图像与opencv的(使用python 2.7)有很大的不同。它正在显示灰度图像,但matplotlibs的图像看起来是绿色的plt。imshow()还接受另一个参数“cmap”,尝试plt.imshow(img,cmap=“gray”)以灰度显示图像,这意味着我不必在cv2.IMREAD()中通过cv2.IMREAD\u灰度?是的,它可以采用一个形状数组(n,m,3)并以灰度显示。刚刚尝试过,但是matplotlib的映像与opencv(使用python 2.7)的映像有很大不同。它正在显示灰度图像,但matplotlibs的图像看起来是绿色的plt。imshow()也接受另一个参数“cmap”,尝试plt.imshow(img,cmap=“gray”)以灰度显示图像,这意味着我不必在cv2.IMREAD()中通过cv2.IMREAD\u灰度?是的,它可以采用形状数组(n,m,3)并以灰度显示。