Objekterkennung mit OpenCV

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
deets

Tjoa, so Sachen halt. Bild verkleinern, wenn du den Suchbereich eingrenzen kannst natuerlich auch das.
Benutzeravatar
Dobi
User
Beiträge: 31
Registriert: Mittwoch 28. September 2011, 17:04

Also wenn du wirklich nur in dem von dir geposteten Canny-Bild den obersten nicht-schwarzen Pixel finden willst, probiers doch einfach mal so, wie du es schon selbst geschrieben hattest. Die aufwendige Hough-Transformation ist erst nötig wenn du noch andere Informationen brauchst.

Code: Alles auswählen

def find_uppermost_white_pixel(image):
    for y in range(0, image.height):
        for x in range(0, image.width):
            if cv.Get2D(image, y, x)[0] > 0:
                return (x,y)
    return (-1,-1)
Malta
User
Beiträge: 83
Registriert: Samstag 8. Januar 2011, 23:51

Ja genau nach sowas hab ich gesucht.
Benutzeravatar
Dobi
User
Beiträge: 31
Registriert: Mittwoch 28. September 2011, 17:04

Wenn das noch zu langsam ist, und du keine Lust hast, dafür extra irgendwas in C++ zu schreiben und einzubinden, kannst du übrigens auch testen, ob es flotter geht, wenn du dir mit cv.FindContours die Punkte der Randkurve geben lässt, und dir dann von diesen den mit dem kleinsten Y-Wert nimmst.
Antworten