Objekterkennung mit OpenCV
Tjoa, so Sachen halt. Bild verkleinern, wenn du den Suchbereich eingrenzen kannst natuerlich auch das.
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)
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.