ciao,
è un problema un pò specifico quindi non so se potete aiutarmi...ma sono fiducioso

allora ho un progetto java che interagisce tramite il JavaBuilder con delle funzioni create in matlab che elaborano delle immagini.

Ho un problema di ritorno dell'immagine. Mi spiego meglio:
Ho fatto una funzione che esegue il falso colore dell'immagine passata (imfalsecolor.m).
elaborando le immagini in matlab ho questo risultato


che è corretto ed è quello che vorrei ottenere anche in java ma ottengo questo


e non riesco a capire perchè le immagini siano così diverse dato che utilizzo la stessa funzione.

in java le immagini sono gestite dalla funzione getBufferedImage

ho provato a fare una semplice funzione che prende in input una immagine e la restituisce come output (imgetout.m) e funziona correttamente...

un pò di codici:
* Matlab: imgetout.m (prende e restituisce immagine)
Codice PHP:
function [out] = imgetout(in)
    
out in;
end 
* Matlab: imfalsecolor.m (crea l'immagine in falso colore)
Codice PHP:
function [out] = imfalsecolor(im_normalim_iruvtype)
    
im_iruv_grey rgb2gray(im_iruv);
    
    [
red green blue] = imsplitrgb(im_normal);
    
    if 
strcmp(type'ir') == 1
        out
(:,:,1) = im_iruv_grey;
        
out(:,:,2) = red;  
        
out(:,:,3) = green;
    elseif 
strcmp(type'uv') == 1
        out
(:,:,1) = green;       
        
out(:,:,2) = blue;         
        
out(:,:,3) = im_iruv_grey
    else
        
display('ERROR: Incorrect transformation type.');
        
out NaN;
    
end
end 
* Java: getBufferedImage(...) (converte immagine-oggetto di matlab in una BufferedImage)
Codice PHP:
public static BufferedImage getBufferedImage(Object[] arg) {
    
BufferedImage out Images.renderArrayData((MWNumericArrayarg[0]);
    return 
out;

spero possiate aiutarmi.
grazie in anticipo