LabVIEWForum.de
Linedetection - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision)
+---- Thema: Linedetection (/Thread-Linedetection)

Seiten: 1 2


Linedetection - schrimpel - 13.08.2008 15:56

Hallo,

ich entwickle gerade in LabVIEW ein Programm, von dem ein entscheidender Teil eine Linienerkennung ist. Das Problem daran ist, dass die Linie nicht grade ist und die Ränder nicht glatt sind, sodass eine Kantendetektion nicht in Frage kommt. Außerdem ist die Helligkeitsverteilung nicht gleichmäßig und die Linie bewegt sich. Ich habe jetzt schon einiges ausprobiert, bin aber noch nicht zu einem vernünftigen Ergebnis gekommen. Entweder finde ich die Linie nicht oder die Verarbeitungszeit wird viel zu lang.
Die Beispiele in LabVIEW haben mir auch nicht wirklich weitergeholfen.
Vielleicht kann mir einer von euch ja ein paar Tips geben wie man so was am besten macht.
Ich habe eine sw CCD-Kamera und die Linie wird von einem Laser projiziert.

Schönen Dank schon mal…

Hier ist noch ein Bild von der Linie...

[attachment=13933]


Linedetection - Curtis Newton - 14.08.2008 14:26

Was willst Du den im Endeffekt haben? Und lade mal eine umkomprimierte Version rauf ohne die jpg-Artefakte. So kann man ja nichts testen.

C.


Linedetection - schrimpel - 14.08.2008 16:05

Hallo,

also ich möchte am Ende die Y-position der Linie in mm an mehreren Stützstellen bestimmen. Die Linie bewegt sich und soll mit mindestens 10Hz abgetastet werden.
Das Bild ist nur ein snapshot, die Szene wird normalerweise mit einer GigE Kamera aufgenommen, wobei die Linie nur sehr schwach zu sehen ist und unterschiedlich hell ist.

Da ich das original bmp nicht hochladen kann, hab ich es mal in ein png gewandelt. Hilft das weiter?

Danke schon mal für die Antwort…


[attachment=13964]


Linedetection - Abrax - 15.08.2008 10:41

Also ich denke um ein Edge Detection kommst du nicht drum rum. Du musst jede Zeile des Bildes einzeln abtasten und die Linie finden. Dannach oder während dessen kannst du mit geeigneten Verknüpfungen festlegen ob die gefundene Edge zur linie passt oder nicht. Das Problem ist das der Kontrast deiner Linie sehr schlecht ist. Das erfordert Rechenzeit und viel Aufwand beim aussortieren der Artefakte. Könnte dadurch evtl. eng werden mit den 10 Hz. Ich weiß ja nicht was sonst noch gemacht werden soll mit den Daten.
Mit meinem modifizierten Edge VI kann ich deine Linie schon ganz gut nachzeichen. Schau es dir mal an. Evtl reicht es ja als Ansatz.

schönen Gruß.

Paul


Linedetection - schrimpel - 16.08.2008 10:27

Hallo Paul,

vielen Dank das Beispiel VI!
Leider kann ich es mir erst am Montag anschauen, da ich übers Wochenende keinen Zugang zu einem Rechner mit dem Vision Paket habe.
Ich melde mich dann nochmal ob es hin haut....

Danke und schönes Wochenende!!


Linedetection - schrimpel - 18.08.2008 06:52

Guten Morgen,

das alte Problem...
kann jemand die von Abrax angehängten Dateien auf LV 7.1 runterspeichern? Ich kann sie leider nicht öffnen.

Gruß
Kai


Linedetection - Abrax - 18.08.2008 09:31

Moin,

wie runterspeichern auf 7.1 geht weiß ich leider auch nicht. 8.0 ist das niedrigste was mein Rechner hergibt. Wenn jemand weiß ob das überhaupt geht würde mich das auch interessieren. Ich kann dir aber ein paar Screenshots vom Programm anbieten. Evtl kannst du es so nachbauen bzw. siehst schon was ich meine.

schönen Gruß.

Paul


Linedetection - schrimpel - 18.08.2008 14:14

So, ich habs jetzt nachgebastelt, es funktioniert auch, aber leider zu langsam.
Trotzdem nochmal vielen Dank, ich werd mal sehen ob man das noch irgendwie schneller bekommt.

Gruß
Kai


Linedetection - Abrax - 18.08.2008 15:17

' schrieb:So, ich habs jetzt nachgebastelt, es funktioniert auch, aber leider zu langsam.
Trotzdem nochmal vielen Dank, ich werd mal sehen ob man das noch irgendwie schneller bekommt.

Gruß
Kai


wenn du auf die ganzen Anzeigenelemente und Darstellungen besonders das zeichnen der einzelnen Punkte verzichtest wird das sehr viel schneller. nur das Array speichern geht ruck zuck.. evtl. nur jede 2, 3, 4 linie abtasten usw. allerdings muss dann sicher sein das die Punkte im Array auch wirklich zur Linie gehören..

Gruß

Paul


Edit: so zum Beispiel.. : )


Linedetection - schrimpel - 19.08.2008 15:54

Hallo Paul,

also, ich hab mit der modifizierten Version etwas rumprobiert. Wenn ich jede 50. Zeile abtaste liege ich bei ca. 10 fps.
Von der Auflösung her wäre das schon in Ordnung, aber das Ganze ist ziemlich ungenau.
Aus dem Grund habe ich mal probiert mit ner Faltung den Mittelpunkt der Linie zu finden, das ist aber noch langsamer...
Besser gesagt es geht nur wenn ichs nicht in eine Schleife packe und nur einen Punkt zur Zeit suche.
Kann es sein dass ich grundlegend etwas falsch mache?

Gruß
Kai

[attachment=14058]