Pages: [1]   Go Down
Print
Author Topic: modificare una immagine rgb  (Read 729 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
rox
Forumista
***
Offline Offline

Posts: 633


« on: 24-11-2009, 15:34:56 »

ho fatto un programma per schiarire o scurire una immagine RGB ma non so perchè non funziona.Infatti l'immagine diventa sempre + chiara anche se metto un valore di y>1.Ora mi chiedevo è giusto il codice o è proprio che questo tipo di operazione non va bene su una immagine rgb e deve essere fatta su una immagine vista hsv??Per quanto ricordo io il prof aveva detto che ci sarebbero stati dei problemi con le immagini rgb,ma ha detto che alla fine non erano così gravi da essere percepibili dall'occhio umano...Ma per quanto riguarda il codice che ho scritto io ci sono grossi problemi.Di seguito posterò il codice
Code:
function x=visualizzaRGB(a,y)
%la stessa funzione di visualizza ma opera in un immagine RGB
if(y<0)
       x= 'y devi metterlo maggiore di 0!!';
else
       %piano del rosso
        r=double(a(:,:,1)).^y;
        mi=min(r(:));
        ma=max(r(:));

        x(:,:,1)=255*((r-mi)/(ma-mi));
       
        %piano del verde
        g=double(a(:,:,2)).^y;
        mi2=min(g(:));
        ma2=max(g(:));

        x(:,:,2)=255*((g-mi2)/(ma2-mi2));
        %piano del blu
         b=double(a(:,:,3)).^y;
        mi3=min(b(:));
        ma3=max(b(:));

        x(:,:,3)=255*((b-mi3)/(ma3-mi3));
            if(ma3>255)
                figure,imshow(x,[]),title('immagine + scura');
            else
                figure,imshow(x,[]),title('immagine + chiara');
            end
    end
end

mi sapreste dire dove sbaglio?Thanks
Logged

Una macchina è in grado di lavorare come cinquanta uomini comuni, ma nessuna macchina può svolgere il lavoro di un uomo straordinario.
Pages: [1]   Go Up
Print
Jump to: