LabVIEWForum.de
Kante finden - Druckversion

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



Kante finden - Recon - 11.07.2007 22:05

Hallo hab da ein kleines Problem bei dem mir hoffentlich jemand helfen kann!

Hab jetzt ein Bild in ein Array zerlegt. Jetzt möchte ich eine Kante in diesem Bild finden, wie mach ich das am besten?
Hab mir zum BEispiel eine weiße Linie in ein schwarzes Bild gezeichnet. In einer ZEile im Array hab ich also nur 255 stehen. Wie kann ich diese ZEile rausfiltern /bzw. also diese Kante erkennen.

Danke für jede Antwort!

mfg recon


Kante finden - eg - 11.07.2007 23:14

Wenn man logisch denkt, suchst du in deinem Array nach einem Wert 255, wenn du ihn gefunden hast, guckst du nach dem nächsten, wenn dieser auch =255 ist, suchst du weiter und weiter, bis du einen anderen findest. Dann guckst du ob die Differenz zwischen dem letzen und dem ersten Index im Array der Länge einer Zeile entspricht und wenn ja, dann ist es die Zeile, die du gesucht hast.
Vielleicht gibt es auch andere, schnellere Methoden, Sorry, aber ich habe noch nie mit Vision gearbeitet.

eg

P.S. auch wenn du andere Möglichkeiten findest, die dir die Kante erkennen, haben diese intern ein ähnliches Vorgehen.


Kante finden - Fritz - 12.07.2007 11:11

' schrieb:Wenn man logisch denkt, suchst du in deinem Array nach einem Wert 255, wenn du ihn gefunden hast, guckst du nach dem nächsten, wenn dieser auch =255 ist, suchst du weiter und weiter, bis du einen anderen findest. Dann guckst du ob die Differenz zwischen dem letzen und dem ersten Index im Array der Länge einer Zeile entspricht und wenn ja, dann ist es die Zeile, die du gesucht hast.
Vielleicht gibt es auch andere, schnellere Methoden, Sorry, aber ich habe noch nie mit Vision gearbeitet.

eg

P.S. auch wenn du andere Möglichkeiten findest, die dir die Kante erkennen, haben diese intern ein ähnliches Vorgehen.

Eine Möglichkeit ist die erste Ableitung zu bestimmen und bei einem gewissen Schwellert das als Kante zu betrachten.

z.B. Kernel

0 1 0
1 0 -1
0 -1 0

danach Absolutbetrag bilden und Schwellwert bestimmen.

Hast Du IMAQ? Falls Ja, sind alle Funktionen schin vorhanden.
Gruß
Fritz


Kante finden - oenk - 12.07.2007 16:15

Da gibt es jenste Methoden

google ist dein Freund ;-)
Suche nach kantendetektion bildverarbeitung
Der erste Hit liefert schon die Antwort

http://www.rst-software.de/dbv/download.html

Da findest du einige Faltungskerne mit denen du Kanten detektieren kannst.

Willst du jedoch kollineare Punkte finden (das sind Punkte die auf einer geraden liegen, jedoch nicht notwendigerweise miteinander verbunden sind) hilft dir die Radon-Transformation oder die Hough-Transformation weiter. Beide Transformationen sind jedoch nicht in der Vision-Toolbox enthalten (oder waren es zumindest in der Version 7.1 nicht)

Gruss,
Christian