LabVIEWForum.de
Areale definieren - Druckversion

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



Areale definieren - Robert85 - 25.05.2011 13:15

Hi,

ich möchte in einem Frame (von AVI-Video) bestimmte Areale definieren. Also z.B. ein Gitter mit Breite 5x5 Pxl oder 1x1 Pxl auf das Bild legen. Wie mach ich das am sinnvollsten? Ich dachte da an die ROI-Funktion (also mehrere Linien ins Bild legen!?). Ich kann ja über Eigenschaftsknoten dann das ROI-Gitter bestimmen. Vielleicht geht es ja so? Wichtig ist nachher das ich die einzelnen Bereiche auch ansteuern kann irgendwie. Also sagen kann: Addiere mir alle Pixel in diesem Bereich. Overlay ist denke ich nicht so geeignet der legt mir das Gitter ja dann direkt über die Pixel. Das ROI ja gang fein genau "zwischen" die Pixel!?

Danke, für entsprechende Hinweise.


RE: Areale definieren - snuz - 25.05.2011 14:35

Hallo Mike77,

versuch mal diese Funktion (s.B.) IMAQ Extract. Dieser Block ermöglicht einen Ausschnitt aus einem Bild zuwählen (Position & Größe), es entsteht damit ein "neues Bild" (der gewählte Ausschnitt).

Gruß snuz


RE: Areale definieren - Robert85 - 25.05.2011 15:57

Danke, das würde sich ja dann gut eignen, um die Bereiche nachher zu Analysieren ... Es müsste aber noch eine Anzeige und Einstellmöglichkeit der Areale geben. Ich dachte da so an
folgendes (siehe Bild). Einfach Linien alle hineinzeichnen? Aber dann bleibt nur die letzte oder?


RE: Areale definieren - snuz - 26.05.2011 07:37

Hallo Mike77,

Zitat:Aber dann bleibt nur die letzte oder?
Den Satz verstehe ich nicht bzw. den Zusammenhang.

Im Endeffekt kannst Du die Linien ja ruhig pur reinzeichnen, Du musst später ja eh das Bild aufteilen bzw. analysieren und da kannst Du ja ruhig das Original wieder nehmen. Also für die Anzeige des Benutzer direkt drauf malen, bei der Analyse das Anfangsbild / Original. Das einzige worauf man dann noch achten muss, ist die Übereinstimmung, wenn der Benutzer die Größe ändern will, aber dies sollte nicht allzu problematisch sein.

Gruß snuz


RE: Areale definieren - Robert85 - 26.05.2011 08:58

Zitat:Aber dann bleibt nur die letzte oder? Den Satz verstehe ich nicht bzw. den Zusammenhang.
Ich mein damit, wenn ich eine Linie einzeichne, und danach noch eine ... nur die letzte Linie bleibt. Wenn ich STRG drücke zeichnet er auch mehr.
Wie realisiere ich das im Blockdiagramm?
Ich mach mich dann mal ran und probiere mich mal am Gitter. Wenn ich eine Lösung habe, meld ich mich


RE: Areale definieren - snuz - 26.05.2011 11:51

Hi Mike77,

ich habe leider keine genau Vorstellung, wie das ganze ablaufen soll (dein Projekt). Ich hab mal ein kleines Beispielprogramm gebastelt, allerdings weiß ich nicht in wieweit, dass überhaupt in die richtige Richtung geht. Schau es dir mal an vielleicht hilft es dir. Zur Logik, die Linien zeichne ich über ein For-Schleife ein, drehe das Bild um 90° und wiederhole den Vorgang, anschließend kann man mit IMAQ_Extract ein Bildbereich auswählen. Die Quelle ist bei mir einfach ein erstelltest Bild, hier muss man zusehen, dass man zweimal das Original hat, da sonst man im gleichen Bild rumfummelt und somit bei der "Analyse" Striche einzeichnet.

Gruß snuz


RE: Areale definieren - Robert85 - 27.05.2011 11:36

Also ich hab mal meine Lösung mit "ROI-Linien" angehangen. Wenn man mal genau hinsieht ... die Linien zeichnet er in die Mitte der Pixel. Das natürlich nicht so schön, dann kann man keine klare Auswahl treffen. Also nur die ersten 5x5 Pixel. Evtl. realisier ich das nochmal mit "ROI-Rechtecken". Da setzt er die Bereiche genau an den Rand der Pixel.

@snuz: Vielen Dank, ich seh mir das VI mal nachher an.

(Zum Projekt: Die Bereiche werden erstellt, um später in den ausgewählten Bereichen (gekennzeichnet durch das entsprechende Gitter), die Pixel zu summieren und mit einer Gewichtung zu bewerten (z.B. +1 / -1). Durch das Ortsfilterprinzip soll das entstehende Signal ausgewertet werden und die Geschwindigkeit bestimmt werden.)