LabVIEWForum.de - LED Erkennung mit NI Vision Toolkit

LabVIEWForum.de

Normale Version: LED Erkennung mit NI Vision Toolkit
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich kann von meiner Webcam Bilder sehen:
(Bild siehe Anhang)

der zugehörige labview code:
(genommen von: Link)
(Bild siehe Anhang)

Frage:
Wie kann ich untersuchen/erkennen/sicherstellen, ob:
* z.B. nur die untere LED leuchtet und die anderen aus sind?
* die LED leuchtet oder mit z.B. 1Hz blinkt
(* die LED die richtige Farbe hat)

Wie würdet ihr das angehen?
Es müsste ja nach dem Aufnehmen des Bildes irgendeine Bildverarbeitung / Auswertung folgen, oder?
Was nimmt man da am besten? Aus welchen tools?
Könnte jemand passenden Code posten?

P.S.:
Ich habe LV2014 ohne Toolkits.
Ich habe mir das LabView Vision Development Module (Evaluation) runtergeladen und installiert.
Ich will nur sehen, ob die LEDs leuchten (blinken).
Muss ich dazu gleich das teure Toolkit kaufen, womöglich noch den NI Vision Builder for Industrial Automation???

Vielen Dank im Voraus
EWiebe
Moin,

Wenn wir davon ausgehen, dass die Position deiner LEDs sich nie aendert, wird alles sehr einfach. Dein Bild ist ein array, du holst aus dem array einen pixel pro LED raus der in der Mitte des LEDs ist und schaust dir die Farbe an.

Wenn wir davon ausgehen, dass die Position beliebig ist, sich aber waehrend du die LEDs anschaust nicht aendert, brauchen wir ein bisschen mehr Bildbearbeitung. Du koenntest den Benutzer fragen die Position der LEDs per Mausklick zu markieren und dann fortfahren wie oben. Automatische Erkennung der Position scheint in diesem Fall schwierig.
Alternativ koenntest du in der Initialisierungsphase ein Bild machen, in dem alle LEDs angeschaltet sind und eins, in dem alle LEDs ausgeschaltet sind. Dann subtrahierst du eins von dem anderen und mit ein paar array manipulationen kriegst du deine Koordinaten der LEDs.

Aehnlich kannst du das Blinken loesen. Wenn alle Pixelwerte von (Bild_n - Bild_n-1) nicht weit von 0 entfernt sind, kannst du davon ausgehen, dass sich nichts geaendert hat. Wenn du eine grosse Aenderung beobachtest, speicherst du die Zeit und nach einer Weile kannst du dann die Blinkfrequenz von den Zeitstempeln berechnen.

Das alles kannst du ohne die Vision library machen, aber ich kann mir vorstellen, dass die Vision library es einfacher macht.
Viel spass
Hätte jemand ein Beispiel(code) für mich?
Oder ist bei LabView bei den Beispielen was passendes dabei?
Ich habe auf Anhieb nicht gefunden.
Danke und Gruß
Du willst ein Beispiel, was genau dein Problem loest?
Das glaub ich nicht, Tim!

Willst du ein Beispiel, wie man auf Elemente eines arrays zugreift, wie man zwei Bilder voneinander subtrahiert, wie man die Koordinaten von etwas findet, was sich zwischen zwei Bildern geaendert hat? Hmmm...
Vielleicht koenntest du dein Problem ein bisschen genauer beschreiben, in dem du auf meine Annahmen eingehst.
Referenz-URLs