LabVIEWForum.de
VIA Histogramm Werte auslesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision)
+---- Thema: VIA Histogramm Werte auslesen (/Thread-VIA-Histogramm-Werte-auslesen)

Seiten: 1 2


VIA Histogramm Werte auslesen - Motecpam - 04.04.2012 14:51

Hallo zusammen,

ich stehe ich aktuell vor einem Problem, welches ich leider aktuell nicht lösen kann.

Vermutlich liegt dies noch an der mangelhaften Erfahrung mit Labview Vision.

Zur Verständnis:

Ich bekomme ein Bild mit 2 schwarzen Balken, über dieses lege ich ein Histogramm, welches mir die Schwarz,Grau und Weißwerte anzeigt.

Durch das erfassen dieser Werte soll die Software bestimmen, ob das Bild scharf eingestellt ist (je schärfer das Bild, desto weniger Grauwerte), daher brauche ich diese Werte (Berechnung erfolgt über die Pixelangaben).

Da ich mich noch nicht so gut mit dem Auswerten der Bilder auskenne, hänge ich aktuell an dieser Stelle fest.

Ich habe alles soweit in den Vision Assistant reingeklickt und funktioniert auch, also mir wird ein Histogramm angezeigt.

Nun wäre es gut, wenn ich die Werte irgendwie auslesen kann bzw in eine Datei speichern.

Dies kann ich im Vision Assistant -> Punkt Histogramm per Hand erledigen, geht dies auch automatisch?

Wobei das speichern nicht mal wichtig wäre, ich muss nur an die Werte kommen und diese als Verhältniss in eine Rechnung mitnehmen.

Kann mir da jemand helfen?

Fals es etwas umständlich formuliert ist, kann ich es gerne nochmal besser beschreiben.

Im Anhang sind ein paar Screenshots der VI.
Sobald es in dem Vision Assistant läuft, würde ich dieses eh per Hand erstellen, damit ich die Übung dafür habe.

Schönen Gruß
motecpam


RE: VIA Histogramm Werte auslesen - b.p - 04.04.2012 15:08

Im LV-Code sehe ich schon, dass du das Histogramm als U32 - Array (Histogram1) bekommst (das wird zwar im Vision Assistant vi als Graph ausgegeben, aber das ist nur das Anzeigeelement). Du kannst damit ganz normal rechnen, alsso das sind schon deine Werte - die kannst du potentiell in eine Excel-Datei speichern lassen, in dem du "Write to Spreadsheet.vi" verwendest. Dem ganzen musst du noch einen Filepfad hinzufügen, und fertig ist deine Datei.

Aber sonst: Einfach in eine Forschleife, und rechnen :-)

Gruß,
Birgit

Wir nehmen für so was auch manchmal ein Line-Profil. Also 1 Zeile aus Bild auslesen, und Steilheit der Flanken anschauen...


RE: VIA Histogramm Werte auslesen - Motecpam - 04.04.2012 15:47

Erstmal vielen Dank für die schnelle Antwort.

Leider finde ich "Write to Spreadsheet.vi" nicht.

Wo finde ich dieses?

Eigentlich wäre es mit der Forschleife besser, da ich somit nicht noch extra die Werte noch einmal einlesen muss.

EDIT:

Ich müsste z.b. vom Histogramm die Werte aus den Zeilen 25-50 zusammen addieren mit den Werten aus den Zeilen 180-210 und das alles zusammen geteilt durch die Zeilen 50-180.

(25-50) + (180-210)
------------------------
(50-180)


Schönen Gruß
motecpam


RE: VIA Histogramm Werte auslesen - NWOmason - 04.04.2012 16:12

(04.04.2012 15:47 )Motecpam schrieb:  Wo finde ich dieses?

Auf dem BD unter FileI/O

Beste Grüße,
NWO


RE: VIA Histogramm Werte auslesen - b.p - 04.04.2012 18:03

Dann brauchst du in der Regel gar keine For-Schleife - es gibt die Funktionen Teil-Arrray und Summe aus Array...
Gruß,
Birgit


RE: VIA Histogramm Werte auslesen - Motecpam - 05.04.2012 09:28

Okay, dankeschön euch beiden.

Leider habe ich hier irgendwie noch einen Fehler drin.

Was habe ich da falsch gemacht?

Schwarz soll nur von 25-50 die Werte auslesen + addieren
Grau soll nur von 50-180 die Werte auslesen + addieren
Weiß soll nur von 180-210 die Werte auslesen + addieren

Alles im Bezug auf die Pixel und mit dem Bereich vom Histogramm.

Ich brauche scheinbar noch einiges an Übung mit dem Umgang von Vision + Auswertung.
Die ganzen E-Test Aufgaben, gingen alles ohne Probleme, hänge nun nur an der Auswertung von dem Bild.

Danke im Voraus

Gruß
motecpam


RE: VIA Histogramm Werte auslesen - jg - 05.04.2012 09:49

Rtmfx Hilfe zur Funktion durchlesen (Strg-H)!
Dir ist hoffentlich klar, dass du folgende Subarrays ausschneidest: von Index (0,0) bis Index (24,24), von Index (0,0) bis Index (49,179) und beim dritten von Index (0,0) bis Index (179,209).

Willst du das?

Gruß, Jens


RE: VIA Histogramm Werte auslesen - Motecpam - 05.04.2012 10:07

Hilfe habe ich durchgelesen.

Jedoch nicht ganz verstanden.

Also gebe ich an Index 0->24 und Index 51->180 ausschneiden, dadurch erhalte ich den Index von 25-->50 am Ausgang als Array?

Oder verstehe ich das nun falsch?


RE: VIA Histogramm Werte auslesen - jg - 05.04.2012 10:19

Ausschneiden von Zeile 50 bis Zeile 180 sieht so aus:
[attachment=39370]
Gruß, Jens


RE: VIA Histogramm Werte auslesen - Motecpam - 05.04.2012 10:26

nun habe ich es verstanden mit dem ausschneiden und wie es mit dem Array-Teilen funktioniert.

Vielen Dank dafür.

Bleibt nur noch offen, wie ich nun die ganzen Zahlen im Array zusammen addieren kann und mit der Formel verrechnen kann.

Stimmt der Rest von unten oder habe ich mit dem addieren ein Fehler gemacht?