Professional Documents
Culture Documents
clear all;
close all;
clc;
Img =imread('cameraman.tif');
imagesc(Img,[0,255]);
title('Original image');
colormap('gray');
L=input('No of levels of quantization ');
Imgd=double(Img);
for i=1:L+1
t(i)=256*(i-1)/l;
end;
for j=1:L
r(j)=t(j)+(128/l);
end;
S=size(Img);
for R=1:S(1)
for C=1:S(2)
for k=1:L
if t(k)<=Imgd(R,C)
if Imgd(R,C)<=t(k+1)
Img1(R,C)=r(k);
else Img1(R,C)=Imgd(R,C);
end;
end;
end;
end;
end;
figure;
subplot(2,1,1);
imagesc(Img,[0,255]);
title('Original image');
colormap('gray');
subplot(2,1,2);
imagesc(Img1,[0,255]);
title(['The quantized image to ',int2str(L),' levels']);
colormap('gray');
Img1d=double(Img1);
M=0;
for l=1:S(1)
for m=1:S(2)
M1=(Imgd(l,m)-Img1d(l,m))*(Imgd(l,m)-Img1d(l,m));
M=M+M1;
end;
end;
MSE=((1/S(1))^2)*M
PSNR=10*log10((255^2)/MSE)
PROGRAM 2B
Img=imread('cameraman.tif');
L=input('No of levels of Quantization ');
Imgd=double(Img);
mx=max(max(Imgd));
mxd=double(mx);
S=size(Imgd);
for R=1:S(1)
for C=1:S(2)
u(R,C)=Imgd(R,C)/mxd;
end;
end;
al=1;
b=1/3;
for R=1:S(1)
for C=1:S(2)
c(R,C)=al*(u(R,C)^b);
end;
end;
c=c*mxd;
for i=1:L+1
t(i)= max(max(Imgd))*(i-1)/L;
end;
for j=1:L
r(j)=t(j)+(((max(max(Imgd))+min(min(Imgd)))/2)/L);
end;
for R=1:S(1)
for C=1:S(2)
for k=1:L
if t(k)<=c(R,C)
if c(R,C)<=t(k+1)
Imgc(R,C)=r(k);
else Imgc(R,C)=c(R,C);
end;
end;
end;
end;
end;
for R=1:S(1)
for C=1:S(2)
u1(R,C)=(Imgc(R,C)/mxd)^3;
end;
end;
u2=mxd*u1;
figure;
subplot(2,1,1);
imagesc(u2,[0,255]);
title(['The quantized image to ',int2str(L),' levels']);
colormap('gray');
subplot(2,1,2);
imagesc(Img,[0,255]);
title('Original image');
colormap('gray');
u2d=double(u2);
Imgd=double(Img);
M=0;
for i=1:S(1)
for j=1:S(2)
M1=(Imgd(i,j)-u2d(i,j))*(Imgd(i,j)-u2d(i,j));
M=M+M1;
end;
end;
MSE=((1/S(1))^2)*M
PSNR=10*log10((255^2)/MSE)
PROGRAM 2C
Img=imread('cameraman.tif');
A=input('Input the value of A : ');
L=input('No of Levels of Quantization ');
Rn=(2*A)*(-0.5+rand(size(Img)));
Imgd=double(Img);
Rnd=double(Rn);
v=Imgd+Rnd;
for i=1:L+1
t(i)=256*(i-1)/l;
end;
for j=1:L
r(j)=t(j)+(128/L);
end;
S=size(v);
for R=1:S(1)
for C=1:S(2)
for k=1:L
if t(k)<=v(R,C)
if v(R,C)<=t(k+1)
Img1(R,C)=r(k);
else Img1(R,C)=v(R,C);
end;
end;
end;
end;
end;
Img2=Img1-Rnd;
figure;
subplot(2,1,1);
imagesc(Imgd,[0,255]);
title(['The quantized image to ',int2str(L),' levels']);
colormap('gray');
subplot(2,1,2);
imagesc(Img2,[0,255]);
title('Original image');
colormap('gray');
Img2d=double(Img2);
M=0;
for i=1:S(1)
for j=1:S(2)
M1=(Imgd(i,j)-Img2d(i,j))*(Imgd(i,j)-Img2d(i,j));
M=M+M1;
end;
end;
MSE=((1/S(1))^2)*M
PSNR=10*log10((255^2)/MSE)
OUTPUTS:
PROGRAM 2A
Original image
50
100
150
200
250
50 100 150 200 250
50
100
150
200
250
50 100 150 200 250
50
100
150
200
250
50 100 150 200 250
MSE =
0.5026
PSNR =
51.1186
-------------------------------------------------------------------------------------------------------------------
No of levels of quantization 64
MSE =
1.4889
PSNR =
46.4023
Original image
50
100
150
200
250
50 100 150 200 250
50
100
150
200
250
50 100 150 200 250
No of levels of quantization 32
MSE =
5.4799
PSNR =
40.7430
Original image
50
100
150
200
250
50 100 150 200 250
50
100
150
200
250
50 100 150 200 250
OUTPUTS PROGRAM 2B
No of levels of Quantization 40
MSE =
11.5560
PSNR =
37.5027
The quantized image to 40 levels
50
100
150
200
250
50 100 150 200 250
Original image
50
100
150
200
250
50 100 150 200 250
No of levels of Quantization 60
MSE =
5.2954
PSNR =
40.8918
The quantized image to 60 levels
50
100
150
200
250
50 100 150 200 250
Original image
50
100
150
200
250
50 100 150 200 250
No of levels of Quantization 80
MSE =
2.9339
PSNR =
43.4563
The quantized image to 80 levels
50
100
150
200
250
50 100 150 200 250
Original image
50
100
150
200
250
50 100 150 200 250
OUPUTS PROGRAM 2C
MSE =
0.8625
PSNR =
48.7733
The quantized image to 64 levels
50
100
150
200
250
50 100 150 200 250
Original image
50
100
150
200
250
50 100 150 200 250
MSE =
11.9996
PSNR =
37.3391
The quantized image to 64 levels
50
100
150
200
250
50 100 150 200 250
Original image
50
100
150
200
250
50 100 150 200 250
MSE =
74.9850
PSNR =
29.3811
The quantized image to 64 levels
50
100
150
200
250
50 100 150 200 250
Original image
50
100
150
200
250
50 100 150 200 250