In einen anderen Bildtyp konvertieren [von Grayscale (I16) in Grayscale (U8)]
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
16.03.2010, 17:40 (Dieser Beitrag wurde zuletzt bearbeitet: 16.03.2010 19:18 von jg.)
In einen anderen Bildtyp konvertieren [von Grayscale (I16) in Grayscale (U8)]
Hallo LabVIEW-Experten,
ich schreibe gerade mit LabVIEW ein Programm, in dem das Live-Bild einer Kamera eingelesen wird (IMAQ Vision).
Leider wird der Bildtyp (Datentyp: IMAQ Image, Bildtyp: Grayscale (U8)) automatisch in „Grayscale (I16)“ umgewandelt, sobald der Datenstrang in eine While-Schleife gezogen wird (siehe ForumBeispielLabVIEW.vi /ForumVIBeispiel.bmp ). Ich brauche aber den Bildtyp „Grayscale (U8)“.
Woran könnte das liegen – wieso konvertiert LabVIEW mein Bild automatisch? Anscheinend nur wegen der While-Schleife (habe das ausgetestet)? Oder besser noch wie mache ich die Konvertierung wieder rückgängig (von Grayscale (I16) in Grayscale (U8))?
In einen anderen Bildtyp konvertieren [von Grayscale (I16) in Grayscale (U8)]
Bitte LVF-Regeln beachten. BMPs als Upload sind nicht erlaubt, auch nicht solche, die du per Dateiendung als PNG tarnst.
Dein 2 MB BMP ist als echtes PNG gerade mal 40 kB groß!
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
In einen anderen Bildtyp konvertieren [von Grayscale (I16) in Grayscale (U8)]
Hallo,
man kann den Bildtyp anscheinend mit "IMAQ Cast Image VI" konvertieren, allerdings fehlt mir da die Lizenz und ich weiss auch nicht, ob ich sie bekomme (Vision Utilities generell). Gibt es vielleicht Alternativen? Kann man sowas ohne Lizenz selbst "zusammenbasteln"?
Mit dem Block "IMAQ Image Bit Depth" habe ich es auch versucht, allerdings gab es auch hier Probleme, es kommt die Fehlermeldung "Falscher Bildtyp" (siehe ForumVIBeispiel2.png). Was mache ich falsch? Oder sollte ich es doch ganz anders machen?
In einen anderen Bildtyp konvertieren [von Grayscale (I16) in Grayscale (U8)]
Hallo,
das mit der Lizenz war ein Irrtum. In der Fehlermeldung steht zwar als Hinweis, dass es an den Lizenzen liegen könnte, aber das tut es doch nicht. Ich habe alle Lizenzen...
Es kommt immer eine Fehlermeldung, wenn ich den Block "IMAQ Cast Image VI" verwende (siehe Forum3VI.PNG): "Das SubVI ist nicht ausführbar. Es müssen alle Fehler im SubVI beseitigt werden, bevor das VI ausgeführt werden kann."
In einen anderen Bildtyp konvertieren [von Grayscale (I16) in Grayscale (U8)]
Also eine Schlaufe an sich macht NIE etwas mit den Daten von sich aus. Was aber hier wohl passiert ist dass die IMAQ Acquisition VIs den Bildtyp automatitisch anpassen, da die Defaulttiefe der Image Acquisition-Karte wohl auf 16 Bit steht. Da IMAQ Images im Gegensatz zu anderen Datenelementen in LabVIEW Drähten, Referenzen sind, hat diese Änderung beim 2ten Durchlauf der Loop zur Folge das IMAQ Type nun ein 16 Bit Image sieht.
Die Lösung wäre also, um die IMAQ Karte vor der Loop so zu konfigurieren, dass sie halt im 8 Bit Modus arbeitete, und dann wird das Bild auch nicht mehr nach 16Bit gecasted.
In einen anderen Bildtyp konvertieren [von Grayscale (I16) in Grayscale (U8)]
Hallo,
der Block "IMAQ Cast Image VI" funktioniert jetzt. Es hatte tatsächlich was mit den Lizenzen zu tun, da wurde irgendwas nicht ordnungsgemäß aktiviert. Es geht jetzt also wieder......
Danke auf jeden fall
In einen anderen Bildtyp konvertieren [von Grayscale (I16) in Grayscale (U8)]
Wie ich in meiner ersten Message angedeutet habe, solltest Du die Image Acquisition so einzustellen versuchen, dass sie nicht bei jeder Acquisition das Image nach 16 Bit casted um het dann manuell wieder nach 8 bit zurückzucasten.
In einen anderen Bildtyp konvertieren [von Grayscale (I16) in Grayscale (U8)]
Ach ja - Ich sollte vielleicht noch dazu sagen, dass meine Kamera 10 bit liefert...
Wie stelle ich die Bittiefe der Image Acquisition-Karte ein? Ich habe die Hilfe-Artikel der ganzen Blöcke (IMAQ Grab Acquire usw.) durchgelesen, aber ich finde da nichts.. In dem ganz normalen Menü habe ich auch nichts gefunden.... oder mache ich das zum beispiel über den block "set bit depth"?
In einen anderen Bildtyp konvertieren [von Grayscale (I16) in Grayscale (U8)]
Tja, ich sehe dass Du traditional IMAQ benützt. Da scheint es keine programmatische Möglichkeit zu geben um die Bittiefe einzustellen. IMAQdx lässt das schon zu. Du kannst aber wahrscheinlich in MAX diese Einstellung vornehmen. Leider kann ich das im Moment nicht testen da ich kein IMAQ Device hier habe.