LabVIEWForum.de
12 Bit Daten 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: 12 Bit Daten auslesen (/Thread-12-Bit-Daten-auslesen)



12 Bit Daten auslesen - grey - 21.04.2010 13:23

Ich möchte zur Zeit 12 Bit Daten einer Kamera auslesen, wobei ich am Ende ein 2D Array jeder der drei Farbebenen erhalten möchte.
Zuerst nahm ich dazu das normale "Get Image.vi" zur Hilfe und wandelte dann das Image einmal in ein Array um, das Intensitätsbild, dass sich mir dann zeigt zeigt dann aber alles andere als einen Wertebereich zwischen 0 und 4095, Also versuchte ich es weiter mit dem "Get Image Data.vi", das der Hilfe nach zu Folge die Bytes der Rohdaten liefert. Im 1D Ausgangsarray das scheinbar 2 Bytes pro Pixel erhält (wie erwartet) tausche ich nun jeweils diese beiden Bytes und überführe es via. reshape zu einem 2D Array, das ich mir anzeigen lasse. Das liefert mir ein schönes Intensitätsbild mit einem Wertebereich von 0 bis 4095. Nun weiß ich allerdings nicht wie ichdaraus nun die Farbkanäle extrahieren soll bzw. was mir denn da nun exakt geliefert wurde.

Da mir pro Pixel 2 Bytes geliefert wurden vermute ich doch, dass es sich um nicht interpolierte Werte handeln müsste, allerdings sieht das Intensitätsbild an sich genau so aus wie ich es von einem Bild aus interpolierten Daten erwarten würde, daher traue ich dem nicht ganz.

Ich habe mal ein kleines Snippet angehangen das zeigt, wie ich zu diesem Intensitätsbild komme und weiterhin noch die Ordnung in der die Bytes im ausgewählten Modus "BayerRG12" (im Measurement and Automatation Expolrer eingestellt) vorliegen.
Weiterhin stellt sich mir noch die Frage ob sich dann noch für emin Problem etwas ändert wenn ich das Bayer Pattern, wie gerade, im Programm auf BG umstelle (BayerRG12 mit der Bayer Pattern BG Einstellung liefert Bilder die von der Farbgebung her recht stimmig aussehen).

Zum verwendeten System:
LabVIEW 2009 64 bit
Jai AD080GE

Vielen Dank für eure Hilfe, vermutlich gibt es auch eine viel einfachere Möglichkeit das zu realisieren aber gerade she ich sie leider irgendwie nicht.


12 Bit Daten auslesen - GerdW - 21.04.2010 15:06

Hallo grey,

aus deinem Bild geht leider nicht hervor, wo R1 und B0 gespeichert sind...
Wie sieht der Rest der Zeile aus - oder sind da nur 2 Pixel pro Zeile?


12 Bit Daten auslesen - grey - 22.04.2010 09:50

Ich glaube, dass B0 und R1 nicht existiert, das hat mich auch erst sehr verwirrt warum B1 in dem Bild nicht B0 ist aber ich erkläre mir das gerade so, dass diese Zahl nicht die Nummer des jeweiligen Fabpixels repräsentiert, sondern die Spaltennummer angibt. Damit würde das dann so aussehen (wobei ich nun unter jedem Buchstaben mal beide Bytes des Pixels zusammenfasste):

R0 G1 R2 G3 R4 G5 ... Rn-1 Gn
G0 B1 G2 B3 G4 B5 ... Gn-1 Bn
.
.
.

wobei R0 der Erste rote Farbpixel wäre, R4 der Zweite usw. Aus dem "Get Image Data.vi" kommt eine Zeile heraus, da müsste die Repräsentation dann folgendermaßen aussehen:
R0 G1 R2 G3 R4 G5 ... Rn-1 Gn G0 B1 G2 B3 G4 B5 ... Gn-1 Bn .....