addpath /users/jang/matlab/toolbox/utility addpath /users/jang/matlab/toolbox/machineLearning close all; clear all; inImage = imread('vivian_orig.png'); % Read image [m, n]=size(inImage); % For computing compression ratio blockSide=8; % For computing compression ratio maxI=8; % The max no. of centers is 2^maxI for i=1:maxI tic centerCount=2^i; % No. of centers fprintf('i=%d/%d: no. of centers=%d\n', i, maxI, centerCount); outImage=myImageCompress(inImage, centerCount); %% You can un-comment the following lines to display the resultant images at each iteration % figure; image(uint8(outImage)); axis image; % Display the output image % compressionRatio=8*3*m*n/(log2(centerCount)*(m/blockSide)*(n/blockSide)+8*centerCount*3*blockSide*blockSide); % titleStr=sprintf('Codebook size=%g, block=%dx%d, compression ratio=%g', centerCount, blockSide, blockSide, compressionRatio); % title(titleStr); outputFile=sprintf('vivian_%.3d_%dx%d.png', centerCount, blockSide, blockSide); imwrite(uint8(outImage), outputFile); % Write output image file fprintf('\tTime=%f sec\n', toc); end fileList=dir('vivian*.png'); montage({fileList.name}); % Display all images in a single plot