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.
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist fixed code. Siehe inline-Kommentare. Lange Geschichte kurz: Ihre Daten Typen waren falsch. Lesen Sie die API.
btw, sowohl die Einfuhren (
openhighgu
undcv
) funktioniert nicht auf meinem ubuntu 10.04Wenn Sie nicht arbeiten, wie haben Sie den code ausführen? Das würde bedeuten in der Regel die Python-Wrapper für OpenCV nicht installiert sind.
Sie arbeiten wie in meiner Quelle, dh alles, was importiert wird
cv
PräfixOh, tut mir Leid. Das heißt, es ist ein Tippfehler in meinem code-ich muss geändert haben, wenn ich versuchte es auf meinem system. Ich werde gehen, Bearbeiten Sie es jetzt.
InformationsquelleAutor mpenkov
Für andere Leute interessiert, die gleiche Art von problem, das ich empfehlen, Check-out http://simplecv.org
Hier ist ein wenig code, den ich schrieb, dass bedeutet Online-Erkennung auf ein Bild, erworben von einer webcam. Es wird sogar angezeigt, das Bild über http.
Check-out das Projekt, das ich gemacht für http://labs.radiantmachines.com/beard/ Es erkennt, wie lange Ihr Hals BART ist 🙂
Das ist absolut genial. +++1 von mir!
InformationsquelleAutor Gourneau
Können Sie konvertieren Sie ein Bild in Graustufen, in einem einzigen Schritt statt zwei:
InformationsquelleAutor Abhinav Sood