2017-06-08 6 views
0

mein Code:Python OpenCV imshow Fehler

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

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

und ich bekomme diese Fehlermeldung:

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 

Ich verwende Linux Mint KDE Was das Problem sein könnte?

Update1: OpenCV arbeitet mit python2.7 gut, aber funktioniert nicht für python3.5

Update2: Wie läuft stellt sich heraus, die script als Jack Gold vorschlug arbeitete tatsächlich aber da hatte ich schon cv2 Ordner in meinem /usr/local/lib/python3.5/dist-packages/ (die mit PIP installiert wurde, denke ich) im Konflikt mit der Installation mit dem Skript und python3 mit der PIP-Version gehalten, so löschte ich, dass cv2 Ordner und neu gestartet und alles hat gut funktioniert.

+0

Sie einige Bibliotheken fehlen, bitte hier meine Antwort verweisen - https://stackoverflow.com/a/44263478/7220609 –

+0

i erhalten stil den gleichen Fehler –

+0

gut, es tatsächlich war es behoben, dank –

Antwort

0

Nicht sicher über das Problem, da es gut für mich funktioniert. Aber nur als Alternative, benutze plt.imshow() von Matplotlib, es funktioniert auch gut.

+0

gerade versucht, aber das Bild von Matplotlib ist ganz anders als opencv (mit Python 2.7).Es zeigt Graustufenbild an, aber das Bild von matplotlibs sieht grün aus –

+0

plt.imshow() akzeptiert auch einen anderen Parameter "cmap", versuche plt.imshow (img, cmap = "grau"), um das Bild in Graustufen anzuzeigen – Ding

+0

bedeutet das nicht musst du cv2.IMREAD_GRAYSCALE in cv2.imread() übergeben? –

0

Haben Sie OpenCV mit Pip installiert? Wenn ja, beachten Sie, dass als here erwähnt, ist dies die inoffizielle Paket für OpenCV ist und haben keine Unterstützung für GUI-Fenster (cv2.imshow() usw.)

Ich würde empfehlen, mit Anaconda opencv installieren mit conda install -c conda-forge opencv=3.2.0 oder conda install -c menpo opencv3=3.2.0

0

nichts zu befürchten Kumpel, litt ich das gleiche und das ist, wie ich diesen Fehler beseitigen, sehen, wenn Sie installiert haben opencv über pip oder PIP3 oder apt-get, zuerst du musst es deinstallieren

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) 

und danach baue das o Pencv-Paket aus dem Quellcode von GitHub.

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 

Dies wird das Problem lösen. Alles Gute.

0

einfachere Lösung wird durch Conda bereitgestellt

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

Sie können die folgende Fehlermeldung nach 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 

Gerade openblas installieren Bibliothek

yum install openblas-devel -y

Referenz

lösen würde

Installation beginnen 0

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