LabVIEWForum.de
SGL image to 8 bit conversion oder SGL image abspeichern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision)
+---- Thema: SGL image to 8 bit conversion oder SGL image abspeichern (/Thread-SGL-image-to-8-bit-conversion-oder-SGL-image-abspeichern)



SGL image to 8 bit conversion oder SGL image abspeichern - Schnake - 20.04.2008 19:18

Hallo Leute,

ich bin grad in einem Projekt involviert bei dem ich mittels CCD Kamera Bilder einlese und mit bestimmten Algorithmen bearbeiten will. Die Bilder werden als 12 bit eingelesen und anschließend als 8 bit oder wahlweise 16 bit konvertiert (aufgrund der Kompalibilität mit einigen Vision Funktionen). Ich benutze LV 8.2 mit dem Vision Modul.

Nun zu meinen Fragen:

1.) wie speichere ich ein floating point image (erhalten z.B. durch Division zweier Bilder (image to array, arrays geteilt, resultierendes array to image))? (Das Speichern als .AIPD klappt irgendwie nicht und außerdem läßt sich dieses Format vermutlich auch nicht mit jeder Software darstellen. Ich möchte auch nicht den IMAQ Divide verwenden)
2.) wie konvertiere ich ein floating point image in ein z.B. 8 bit image? (wenn 1.) nicht klappt)

Gruß und schon mal schönen Dank


SGL image to 8 bit conversion oder SGL image abspeichern - dc6xs - 20.04.2008 19:45

Hi,

hab zwar keinen Plan von den VISION-Sachen, aber wieso konnt denn bei der Division ein float-Wert raus?
Ich kann doch auch zwei Int(8/16/32)-Werte dividieren (mit Rest).

Ansonsten gibts auch ne cast-Operation, mit der man float nach int konvertieren kann.

Gruß,
Rob


SGL image to 8 bit conversion oder SGL image abspeichern - Schnake - 20.04.2008 23:11

' schrieb:Hi,

hab zwar keinen Plan von den VISION-Sachen, aber wieso konnt denn bei der Division ein float-Wert raus?
Ich kann doch auch zwei Int(8/16/32)-Werte dividieren (mit Rest).

Ansonsten gibts auch ne cast-Operation, mit der man float nach int konvertieren kann.

Gruß,
Rob



Hallo,

ich hab´s hinbekommen und mal ein kleines Vi geschrieben welches das Problem und die Lösung verdeutlicht.
Wenn ich eine Cast image Funktion auf 8 bit setze wird immer gerundet was bei einer float natürlich die Information des Bildes herabsetzt. Es ist aber wichtig das float Bild abzuspeichern. Daher die Konvertierung mittels Array Funktionen.

Bevor ihr das Vi startet müsst ihr 2 Bilder gleicher Größe laden (File Path - Browse).
Die Konvertierung von 16 bit nach 8 bit ist hier nicht unbedingt notwendig.

Gruß
Schnake