Ich habe eine binäre Band Sequential (1-Band, BSQ-Datei), die eine vorzeichenlose 16-Bit (2-Byte) Integer ist.MATLAB: Beide Bytes einer vorzeichenlosen 16-Bit-Binärdatei lesen
Derzeit Lesen ich das ganze (Bild) durch multibandread:
img=multibandread('IMAGE.bsq',[400 400 1],'uint16',0,'bsq','n');
Welche Verfahren in MATLAB würde mir erlauben, sowohl zu lesen Bytes einzeln? d.h. ich möchte die Datei in 2 neue Arrays in MATLAB lesen, z. Byte1 (400x400x1) und Byte2 (400x400x1).
Kann dies durch fread erreicht werden? Ich beachte, dass es im Abschnitt "Genauigkeit" möglich ist, Quellwerte (z. B. 'N*source=>output'
) zu überspringen, aber ich bin mir nicht sicher über den genauen Prozess.
Haben Sie versucht, "uint8" anstelle von "uint16" anzugeben, das Ergebnis zu erhalten und es dann in zwei Bilder zu teilen? Oder alternativ das aktuelle Ergebnis durch bitweise Operationen in zwei Bilder aufteilen? –
Ich muss beide Bytes aus dem 'uint16' Array extrahieren - würde das Lesen als' uint8' dies erreichen? (Ich interessiere mich mehr für die Daten im zweiten Byte) – MBL