%向量量化
V(:,:,1) = [0 0 0 0; 0 0 0 0; 0 0 0 0; 0 0 0 0];
V(:,:,2) = [0 0 0 0; 0 1 0 0; 0 0 0 0; 0 0 0 0];
V(:,:,3) = [0 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 0];
V(:,:,4) = [0 0 0 0; 0 1 0 0; 0 0 1 0; 0 1 0 0];
V(:,:,5) = [0 0 1 0; 0 1 0 0; 0 0 1 0; 0 1 0 0];
V(:,:,6) = [0 0 1 0; 0 1 0 1; 0 0 1 0; 0 1 0 0];
V(:,:,7) = [0 0 1 0; 0 1 0 1; 1 0 1 0; 0 1 0 0];
V(:,:,8) = [0 1 1 0; 0 1 0 1; 1 0 1 0; 0 1 0 0];
V(:,:,9) = [0 1 1 0; 0 1 0 1; 1 0 1 0; 0 1 1 0];
V(:,:,10) = [0 1 1 0; 0 1 0 1; 1 0 1 0; 1 1 1 0];
V(:,:,11) = [0 1 1 0; 1 1 0 1; 1 0 1 0; 1 1 1 0];
V(:,:,12) = [0 1 1 0; 1 1 0 1; 1 0 1 1; 1 1 1 0];
V(:,:,13) = [1 1 1 0; 1 1 0 1; 1 0 1 1; 1 1 1 0];
V(:,:,14) = [1 1 1 0; 1 1 1 1; 1 0 1 1; 1 1 1 0];
V(:,:,15) = [1 1 1 0; 1 1 1 1; 1 1 1 1; 1 1 1 0];
V(:,:,16) = [1 1 1 1; 1 1 1 1; 1 1 1 1; 1 1 1 1];
A=imread('wzh.bmp');
Gra=rgb2gray(A);
QGra=zeros(size(Gra));
Co=size(Gra,1);Ro=size(Gra,2);
Cv=size(V,1);Rv=size(V,2);Dv=size(V,3);
for i=1:Cv:Co
for j=1:Rv:Ro
temp1=im2double(Gra(i:i+Cv-1,j:j+Rv-1));
n=100;
for k=1:16
temp2=temp1-V(:,:,k);
temp2=temp2.^2;
m=sum(sum(temp2));
if(m<n)
n=m;
dis=k;
end
end
QGra(i:i+Cv-1,j:j+Rv-1)=V(:,:,dis) ;
end
end
figure
imshow(Gra)
figure
imshow(QGra)