wie verarbeiten-Bild mit opencv in python?

Will ich mit edge-detection-algorithmen aus der opencv-Bibliothek.
Hier ist ein Stück python-code:

from opencv.cv import *
from opencv.highgui import *

img = cvLoadImage ('xxx.jpg')
cvNamedWindow ('img')
cvShowImage ('img', img)
cvWaitKey ()

canny = cvCreateImage (cvSize (img.width, img.height), 8, 3)
cvCanny (img, canny, 50, 200)

harris = cvCreateImage (cvSize (img.width, img.height), 8, 3)
cvCornerHarris (img, harris, 5, 5, 0.1)

Laden und anzeigen Bild funktioniert gut, aber canny und harris-Transformationen fehl.
cvCanny schlägt fehl mit:

RuntimeError:  openCV Error:
    Status=Unsupported format or combination of formats
    function name=cvCanny
    error message=
    file_name=cv/cvcanny.cpp
    line=72

sowie cvCornerHarris schlägt fehl mit dieser Fehlermeldung:

RuntimeError:  openCV Error:
    Status=Assertion failed
    function name=cvCornerHarris
    error message=src.size() == dst.size() && dst.type() == CV_32FC1
    file_name=cv/cvcorner.cpp
    line=370

Aus diesen Nachrichten kann ich entnehmen, dass ein geladenes Bild hat ungültiges format. Aber ich verstehe nicht, wie es zu konvertieren.
Hier sind Werte von einigen img Felder:

img.type = 1111638032
img.nChannels = 3
img.depth = 8
+1 für das arbeiten Quelle.
welche version der API verwenden Sie? dein code scheint zu sein, im Einklang mit der alten API und verwirrend sein könnte für neue Benutzer: sollten Sie "import cv" und so. Ich werde froh sein, übersetzen Sie Ihren code, wenn Sie es wünschen
es ist python-opencv_2.0.0-3ubuntu2. Ich habe es installiert von Ubuntu 10.04 repository.

InformationsquelleAutor max taldykin | 2011-02-15

Schreibe einen Kommentar