Seite 1 von 1

Teilbild aus Bild ausschneiden

Verfasst: Freitag 9. April 2010, 19:13
von OpenCV
Hallo Community!

Ich habe hier einen Code, mitdem man aus einem Bild das Gesicht erkennen und mit einem Rechteck umrahmen kann.

Code: Alles auswählen

ipl = cv.LoadImage("saved_picture.jpg",highgui.CV_LOAD_IMAGE_UNCHANGED)
        hc = cv.Load("haarcascade_frontalface_default.xml")
        faces = cv.HaarDetectObjects(ipl, hc, cv.CreateMemStorage())
        for (x,y,w,h) in faces:
            cv.Rectangle(ipl, (x,y), (x+w,y+h), 255)
            highgui.cvSaveImage("faces_detected.jpg", faces)
Nun will ich aber aus dem Bild "faces_detected.jpg", das ja das Bild mit dem Rahmen darstellt, nur das Rechteck ausschneiden, also nur das Gesicht.
Gibt es in Python einen Befehl dafür oder habt ihr Lösungsvorschläge?

Danke voraus für die Antworten.

MFG
OpenCV

Verfasst: Freitag 9. April 2010, 19:39
von Gabelmensch
Bekommst du da die Koordinaten? Wenn ja geht das mit "crop" aus der PIL.

Verfasst: Freitag 9. April 2010, 20:30
von OpenCV
Nein leider, cvRectangle ist eine void-Methode.
Es zeichnet lediglich das Rechteck in das Image ipl.
Danach wird es mit dem Rahmen gespeichert.

Gibt es keine Funktion, die das Rechteck erkennt und ausschneidet?

Verfasst: Freitag 9. April 2010, 23:32
von ms4py
Was denkst du, welche Parameter cv.Rectangle benötigt?! Das sind deine Koordinaten! Ist aber doch auch offensichtlich...

BTW: Mit cv kannst du bestimmt auch ausschneiden und benötigtst nicht noch extra PIL

Verfasst: Samstag 10. April 2010, 07:29
von OpenCV
Ouh stimmt! :oops:
Vielen Dank für deine Antwort, ehrlich gesagt wär ich gestern drauf nimmer gekommen :? .

MFG