Ich habe ein Bild (Matrix), das Werte auf 16 Bits hat, das ist zwischen 0 und 65535 und ich möchte es in einer Binärdatei schreiben, also verwende ich fwrite
, wie es in der Dokumentation I heißt habe versucht, unterschiedliche Genauigkeit zu verwenden, um die Daten auf 2 Bytes zu schreiben ('integer*2'
, 'uint16'
, usw.), aber es scheint, dass die Daten auf 15 Bits gesättigt werden, das ist der Maximalwert ist 0x7ff, wenn ich mehr Bytes verwende, sagen wir 4 , die Daten kommen vollständig mit Werten größer als 0x7ff und weniger als 0xffff an. Ich habe in der Dokumentation gelesen, dass fwrite
die Werte sättigen, so dass es kein Inf oder NaN geben wird, bedeutet das, dass ich auf x Bytes schreiben kann, nur (x * 8 - 1) Bits?!?Matlab fwrite Sättigung
Gibt es eine andere Möglichkeit, das Bild in eine bin-Datei mit den richtigen Werten auf 2 Bytes zu schreiben?
komisch ... es scheint, es funktioniert ... es funktioniert auch mit 'ushort' ... aber es funktioniert nicht mit 'integer * 2', vielleicht ist es wirklich die signierte/unsignierte Ausgabe ... Danke – sop