數字影像處理實驗五
分別在灰度影像中加入一定量的高斯噪聲和椒鹽噪聲,然后采用3×3的均值濾波器和3×3中值濾波器分別對噪聲影像進行處理,給出兩種處理方法的峰值信噪比(PSNR);仿效“中值濾波”的方法,對原影像分別進行“極大值濾波”和“極小值濾波”,對所形成的影像給出說明,
List item
im=imread('12-Panda.bmp');
%加入高斯噪聲
im1=imnoise(im,'gaussian');
%加入椒鹽噪聲
im2=imnoise(im,'salt & pepper');
%%
im=double(im);
im1=double(im1);
im2=double(im2);
%%
%均值濾波
h=fspecial('average',3);
im1_mean=imfilter(im1,h);
im2_mean=imfilter(im2,h);
%中值濾波
im1_median=ordfilt2(im1,5,ones(3,3));
im2_median=ordfilt2(im2,5,ones(3,3));
%極小值濾波
im1_min=ordfilt2(im1,1,ones(3,3));
im2_min=ordfilt2(im2,1,ones(3,3));
%極大值濾波
im1_max=ordfilt2(im1,9,ones(3,3));
im2_max=ordfilt2(im2,9,ones(3,3));
%%
figure
subplot(231)
imshow(mat2gray(im));
title('Original')
subplot(232)
imshow(mat2gray(im1));
title('Gaussian')
subplot(233)
imshow(mat2gray(im1_mean));
title('Mean')
fprintf('GMean,PSNR=%.2f dB',PSNR(im,im1_mean))
subplot(234)
imshow(mat2gray(im1_median));
title('Median')
fprintf('GMedian,PSNR=%.2f dB',PSNR(im,im1_median))
subplot(235)
imshow(mat2gray(im1_min));
title('Min')
subplot(236)
imshow(mat2gray(im1_max));
title('Max')
%%
figure
subplot(231)
imshow(mat2gray(im));
title('Original')
subplot(232)
imshow(mat2gray(im2));
title('salt & pepper')
subplot(233)
imshow(mat2gray(im2_mean));
title('Mean')
fprintf('saltMean,PSNR=%.2f dB',PSNR(im,im2_mean));
subplot(234)
imshow(mat2gray(im2_median));
title('Median')
fprintf('saltMedian,PSNR=%.2f dB',PSNR(im,im2_median))
subplot(235)
imshow(mat2gray(im2_min));
title('Min')
subplot(236)
imshow(mat2gray(im2_max));
title('Max')
新建腳本
function psnr=PSNR(x,y)
x=double(x);
y=double(y);
cnt=length(x(:));
mse=sum((x(:)-y(:)).^2)/cnt;
psnr=10*log10(255^2/mse);
end
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/210068.html
標籤:其他
下一篇:RTSP/GB28181/Ehome協議/HIKSDK視頻融合共享平臺EasyCVR級聯到上級國標平臺在線狀態不更新修復
