INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Bilderkennung: Endpunkte einer nicht geraden Linie



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

28.01.2014, 15:13 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2014 15:18 von b.p.)
Beitrag #5

b.p Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 197
Registriert seit: Oct 2010

2009-14
-
DE_EN


Sonstige
RE: Bilderkennung: Endpunkte einer nicht geraden Linie

Akzeptierte Lösung

Hmm.. ich hatte mir unter dem Skeleton vorgestellt, dass du eher sowas wie in folgendem Bild machst, also bei sauber vorverarbeiteten Bildern:
-> http://imgur.com/dt37W8D

Aber da die Daten sind wegen dem Gradienten eh nicht so hunderpro dafuer geeignet.
Uebrigens nicht die schlechtesten Daten, relativ stabile Belichtung und eindeutige Merkmale Top1

Ja, man koennte hit und miss rotationsunabhaengig machen. Lass dich mal von http://homepages.inf.ed.ac.uk/rbf/HIPR2/thin.htm und weiterfuehrenden Bildern inspirieren.

Bei deinen Bildern kann man aber einfach auch die IMAQ-eigenen Funktionen verwenden, das geht sehr schnell zu programmieren.
Ne Idee ist folgende: Du interpretierst die "eine" Kante als ein sehr langes, duennes Objekt, also einen Schlauch mit fast parallel verlaufenden Aussenkonturen. Diesem "rennst" du nach, und beobachtest dabei die Kruemmung, und wenn da ein scharfer Wendepunkt ist, weisst du, dass du am Ende bist.

Dafuer gibt es das Contour Analysis VI, das berechnet dir eine "curvature", sh Vision Concepts Manual
"The curvature of a contour is calculated from the edge points of the contour and by the input kernel size. For each point along the contour the algorithm selects two additional points at half the kernel width before and half the kernel width after the current point. The algorithm fits a cubic b-spline to the three points. Curvature represents the inverse radius of the circle inscribed by the cubic b-spline at the current point. Curvature can be negative. A negative curvature indicate a curve to the left along the search direction. If the current point is too close to either end of the array to choose the additional points, the curvature is calculated as 0."

Von diesem Mass berechnest du den Extrempunkt (nicht das Maximum, da nicht determiniert ist, in welche Richtung du den Schlauch abrennst - koennte man mit ROI und Suchlinie festlegen, aber dann muesste ich druaber nachdenken Blush .. geht auch ohne das Normieren, das ich im vi gemacht hab.. mhmm, das wuerd ich ueberarbeiten). Aber genau an der Stelle ist auf jeden Fall dein gesuchter Punkt.

Falls deine Probedaten irrefuehrend sind, und nicht immer beim Bildrand starten, hast du evtl. 2 lokale Maxima, und musst entscheiden, wo der richtige ist. Aber das ist ein anderes Thema.

Die Laufzeit des Algos ist auf meinem PC im ms-Bereich -> http://i.imgur.com/I7KrFOz.png
aber ich hab auch einen halbwegs vernuenftigen PC. Da ist noch viel Optimierungspotential drinnen, wenn du da was tun musst.

Schoene Gruesse,
Birgit


Angehängte Datei(en)
13.0 .vi  birgit.vi (Größe: 105,92 KB / Downloads: 269)

10.0 .vi  2010.vi (Größe: 1,61 MB / Downloads: 281)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Bilderkennung: Endpunkte einer nicht geraden Linie - b.p - 28.01.2014 15:13

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Image - dicke Linie ziehen gottfried 4 4.957 19.03.2021 19:58
Letzter Beitrag: Martin.Henz
  Linie aus Bild in Pfad umwandeln blueberry99 5 7.800 11.03.2014 17:40
Letzter Beitrag: b.p
  Senkrechte Linie zu erkannter Kante setzen (LV2012) Peter Schulze 9 6.056 06.09.2012 13:53
Letzter Beitrag: jg
  ROI während der Bilderkennung darstellen Lord Chaos 1 4.251 20.02.2008 10:26
Letzter Beitrag: Lord Chaos

Gehe zu: