Soluzioni degli esercizi
L. Verdoliva, M. Cagnazzo
01.06.07
DCT inversa
Ecco il codice della DCT bidimensionale inversa:
function Y=IDCT2d(X);%IDCT2d realizza la trasformata DCT inversa di un’immagine% Y=IDCT2d(X); X è l’immagine d’ingresso, deve essere double[N M]=size(X);CN=dctmtx(N);CM=dctmtx(M);Y=CN’*X*CM;
DCT a blocchi
Il seguente listato Matlab consente di effettuare la DCT su blocchi di dimensione stabilita.
function y = blkdct(x,N,M)%BLKDCT calcola la DCT2d blocco per blocco% Y=BLKDCT(X,N,M) richiede in ingresso l’immagine X% e le dimensioni del blocco, N e M%Controllo sulle dimensioni[n m] = size(x); r=[n m]./[N M];if ~isequal(r,round(r)),error(sprintf( ...’Le dimensioni dell’’immagine non sono multiple di %dx%d’,N,M));endfor r = 1:N:n,for c = 1:M:m,block = x(r:r+N-1, c:c+M-1);y(r:r+N-1, c:c+M-1) = dct2(block);endend 1
-
Elaborazione dei segnali multimediali - Test risolti
-
Elaborazione dei segnali multimediali - Esercizi risolti
-
Elaborazione dei segnali multimediali - Quesiti risolti
-
Elaborazione dei segnali multimediali - Esercizi risolti