Matlab代码:
I= imread('1.jpg');%自己任意给出一张图片
I=im2double(I);
H=rgb2gray(I);
J=imnoise(H, 'salt& pepper', 0.02);
h1=fspecial('average',3);
h2=fspecial('average',5);
h3=fspecial('average',7);
K1=filter2(h1, J);
K2=filter2(h2, J);
K3=filter2(h3, J);
subplot(221);imshow(J);title('0');
subplot(222);imshow(K1);title('1');
subplot(223);imshow(K2);title('2');
subplot(224);imshow(K3);title('3');
[g w]=size(K1);
L=imresize(K1,[floor(g/2)floor(w/2)]);
L=imresize(L,[gw]);
M=im2uint8(K1);
N=im2uint8(L);
B=8;
MAX=2^B-1;
MES=sum(sum((M-N).^2))/(g*w);
PSNR=20*log10(MAX/sqrt(MES))
[g w]=size(K2);
L=imresize(K2,[floor(g/2)floor(w/2)]);
L=imresize(L,[gw]);
M=im2uint8(K2);
N=im2uint8(L);
B=8;
MAX1=2^B-1;
MES1=sum(sum((M-N).^2))/(g*w);
PSNR1=20*log10(MAX1/sqrt(MES1))
[g w]=size(K3);
L=imresize(K3,[floor(g/2)floor(w/2)]);
L=imresize(L,[gw]);
M=im2uint8(K3);
N=im2uint8(L);
B=8;
MAX2=2^B-1;
MES2=sum(sum((M-N).^2))/(g*w);
PSNR2=20*log10(MAX2)/sqrt(MES2)
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |