我的代码:
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 文件夹并重新启动,一切正常。
答案 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.0
或conda 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')