2013-02-01 15 views
25

Ich versuche, OpenCV mit Python auf meinem Ubuntu-Rechner arbeiten. Ich habe heruntergeladen und OpenCV installiert, aber wenn ich versuche, den folgenden Python Code ausgeführt werden (die Bilder von einer Webcam erfassen sollte und schieben Sie sie auf den Bildschirm)OpenCV Fehler: Die Funktion ist nicht implementiert

import cv 

cv.NamedWindow("w1", cv.CV_WINDOW_AUTOSIZE) 
capture = cv.CaptureFromCAM(0) 

def repeat(): 
    frame = cv.QueryFrame(capture) 
    cv.ShowImage("w1", frame) 
    time.sleep(10) 

while True: 
    repeat() 

ich die folgende Fehlermeldung erhalten:

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 

So tue ich, was sie fragen: die Pakete installieren, um den Ordner zu verschieben, von wo ich OpenCV installiert und laufen

sudo make uninstall 
make 
sudo make install 

Aber wenn ich versuche, die python zu laufen, es gibt mir die gleiche er ror. Fehle ich etwas?

+0

Haben Sie das neuere 'cv2' Modul ausprobiert? Auch, sowohl opencv als auch die Python-Bindungen sind in den Repositories, es gibt keine Notwendigkeit, etwas herunterzuladen oder zu kompilieren. – goncalopp

Antwort

24

Wenn es Ihnen mit gtk Fehler gibt, versuchen Sie qt.

sudo apt-get install libqt4-dev 
cmake -D WITH_QT=ON .. 
make 
sudo make install 

Wenn dies nicht funktioniert, gibt es einen einfachen Ausweg.

sudo apt-get install libopencv-* 

Dadurch werden alle erforderlichen Abhängigkeiten herunterladen (obwohl es scheint, dass Sie die benötigten Bibliotheken installiert alle haben, aber immer noch können Sie es einmal versuchen). Dies wird wahrscheinlich OpenCV 2.3.1 (Ubuntu 12.04) installieren. Aber da Sie OpenCV 2.4.3 in /usr/local/lib haben, fügen Sie diesen Pfad in /etc/ld.so.conf ein und tun Sie ldconfig. So, jetzt, wenn Sie OpenCV verwenden, würden Sie die neueste Version verwenden. Dies ist nicht der beste Weg, es zu tun, aber wenn Sie immer noch Probleme mit qt oder gtk haben, versuchen Sie es einmal. Das sollte funktionieren.

+0

Apt-get hat es für mich gemacht. Vielen Dank! – Dan

+0

sudo apt-get install libqt4-dev -> Befehl nicht gefunden Fehler, ich verwende für iOS-Anwendung. –

+0

Dann nehme ich an, Sie sind auf OS X, das nicht mit apt-get kommt. Stattdessen benutze [homebrew] (http://brew.sh) – ericmarkmartin

10

Ich hoffe diese Antwort ist immer noch nützlich, trotz Problem scheint ziemlich alt zu sein.

Wenn Sie Anaconda installiert haben und Ihre OpenCV ist GTK + nicht (wie in diesem Fall) unterstützen, können Sie einfach eingeben

conda install -c menpo opencv=2.4.11 

wird es geeignet OpenCV Version installieren, die nicht erwähnt Fehler erzeugt. Außerdem wird zuvor installiertes OpenCV neu installiert, wenn es ein Teil von Anaconda war.

+2

Dies funktioniert nicht für mich mit Python 3.5.2. Die Installation libopencv- * wird von anderen nicht empfohlen. Ich habe eine 2.7 virtuelle Umgebung erstellt, und das funktioniert in dieser Umgebung. Vielen Dank! Aber ich wünschte, alles funktionierte mit python3 ... wir sollten alle vor Jahren lol updaten lol –

+3

@JulianCienfuegos, ich habe conda 4.3.11 mit python 3.5.2 in einer seiner virtuellen Umgebungen, und es installiert OpenCV 3.1.0 durch Eingabe von 'conda opencv' installieren. Wenn Ihr Conda älter ist, ist es möglich, dass Conda Update es beheben wird. –

24

Wenn Sie OpenCV mit dem opencv-Python-Pip-Paket an jedem beliebigen Punkt in der Zeit installiert ist, beachten Sie die folgende Notiz genommen von https://pypi.python.org/pypi/opencv-python

IMPORTANT NOTE MacOS and Linux wheels have currently some limitations:

  • video related functionality is not supported (not compiled with FFmpeg)
  • for example cv2.imshow() will not work (not compiled with GTK+ 2.x or Carbon support)

auch, dass aus einer anderen Quelle zu installieren, beachten Sie, müssen Sie zuerst Entfernen Sie das opencv-python-Paket

1

Vor der Installation von libgtk2.0-dev und pkg-config oder libqt4-dev. Stellen Sie sicher, dass Sie opencv deinstalliert haben. Sie können dies bestätigen, indem Sie import cv2 auf Ihrer Python-Shell ausführen. Wenn dies fehlschlägt, installieren Sie die erforderlichen Pakete und führen Sie cmake erneut aus.

4

Verschwenden Sie nicht Ihre Zeit zu versuchen, dieses Problem zu lösen das wurde deutlich gemacht, die Macher selbst, also statt cv2. imshow() Verwendung img = cv2.imread(image_path) plt.imshow(img, cmap = 'gray', interpolation = 'bicubic') plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis plt.show()

Verwandte Themen