Ho un Binario Sequenziale Binario (file BSQ a 1-banda), che è un numero intero senza segno a 16 bit (2 byte).MATLAB: lettura di entrambi i byte di un file binario a 16 bit senza segno
Attualmente sto leggendo l'intero (immagine) attraverso multibandread:
img=multibandread('IMAGE.bsq',[400 400 1],'uint16',0,'bsq','n');
Quale processo in MATLAB mi avrebbe permesso di leggere entrambi i byte singolarmente? Ad esempio, vorrei leggere il file in 2 nuovi array in MATLAB, ad es. byte1 (400x400x1) e byte2 (400x400x1).
Può essere raggiunto tramite fread? Osservo che nella sezione "precisione" è possibile saltare i valori di origine (ad esempio 'N*source=>output'
), ma non sono sicuro dell'esatto processo.
Hai provato a specificare ''uint8'' anziché' 'uint16'', ottenendo il risultato e dividendolo in due immagini? Oppure, in alternativa, suddividere il risultato corrente in due immagini utilizzando operazioni bit a bit? –
Ho bisogno di estrarre entrambi i byte dall'array 'uint16' - la lettura come' uint8' può essere ottenuta? (Sono più interessato ai dati contenuti nel secondo byte) – MBL