%*************** EECS_556 IMAGE PROCESSING ******************* %*************** Computer Assignment #1 ******************* %*************** ******************* %*************** James J. Huth Joe Mancuso ******************* %*************** 2/6/96 ******************* %************************************************************** %*********** Part b %***** Initialize close all; clear; %***** Load Image Transforms (Quantized) load house_dct_2bl; load house_dft_2bl; load house_dct_8bl; load house_dft_8bl; load house; %************************************************************** % Reconstruct images through inverse transforms. house_2br_dct = idct2(house_dct_2bl); figure; imagesc(house_2br_dct); title('Reconstruction from 2-Bit L-M Quantization of DCT of Original Image'); print -dgif8 partg/house_2br_dct house_2br_dft = ifft2(house_dft_2bl); figure; imagesc(house_2br_dft); title('Reconstruction from 2-Bit L-M Quantization of DFT of Original Image'); print -dgif8 partg/house_2br_dft house_8br_dct = idct2(house_dct_8bl); figure; imagesc(house_8br_dct); title('Reconstruction from 8-Bit L-M Quantization of DCT of Original Image'); print -dgif8 partg/house_8br_dct house_8br_dft = ifft2(house_dft_8bl); figure; imagesc(house_8br_dft); title('Reconstruction from 8-Bit L-M Quantization of DFT of Original Image'); print -dgif8 partg/house_8br_dft % Find SNR of reconstructed images numsum = 0; densum = 0; esum = 0; image = house_2br_dct; ttext = ['SNR and Eb of 2-bit reconstructed DCT']; original = house; [M,N] = size(image); for m = 1:M for n = 1:N numsum = numsum + abs( image(m,n) - original(m,n) )^2; densum = densum + abs( original(m,n) )^2; esum = esum + abs( image(m,n) )^2; end end ttext SNR = -10*log10(numsum/densum) esum numsum = 0; densum = 0; esum = 0; image = house_2br_dft; ttext = ['SNR and Eb of 2-bit reconstructed DFT']; original = house; [M,N] = size(image); for m = 1:M for n = 1:N numsum = numsum + abs( image(m,n) - original(m,n) )^2; densum = densum + abs( original(m,n) )^2; esum = esum + abs( image(m,n) )^2; end end ttext SNR = -10*log10(numsum/densum) esum numsum = 0; densum = 0; esum = 0; image = house_8br_dct; ttext = ['SNR and Eb of 8-bit reconstructed DCT']; original = house; [M,N] = size(image); for m = 1:M for n = 1:N numsum = numsum + abs( image(m,n) - original(m,n) )^2; densum = densum + abs( original(m,n) )^2; esum = esum + abs( image(m,n) )^2; end end ttext SNR = -10*log10(numsum/densum) esum numsum = 0; densum = 0; esum = 0; image = house_8br_dft; ttext = ['SNR and Eb of 8-bit reconstructed DFT']; original = house; [M,N] = size(image); for m = 1:M for n = 1:N numsum = numsum + abs( image(m,n) - original(m,n) )^2; densum = densum + abs( original(m,n) )^2; esum = esum + abs( image(m,n) )^2; end end ttext SNR = -10*log10(numsum/densum) esum