【图像去噪】基于非线性扩散PM算法实现图像去噪附matlab代码
图像去噪的主要挑战在于抑制噪声的同时如何尽可能的保存边缘等细节特征。非线性扩散方法一般能在去噪的同时,较好的保护图像边缘。
2 部分代码close all
clear
clc
%原始图像的读取与显示
%im=imread('lenna.bmp');
im=imread('VV.jpg');
imshow(im);
title('原始图像');
% %高斯低通滤波得到模糊图像
% h=fspecial('gaussian',[3,3],1);%高斯低通滤波器(采用3*3的模板,标准差为1(默认的为3*3模板,标准差为0.5))
% imA=imfilter(im,h);
% figure;
% imshow(uint8(imA));
% title('模糊图像');
%添加高斯白噪声
imB=imnoise(im,'gaussian',0,0.003);
SNR(im,imB)
%imB=imA+randn(size(imA))*5;
figure(1);
imshow(imB);
title('含噪图像');
PM_image=PM(imB,200,0.02,2);
SNR(im,PM_image)
figure(2);
imshow(uint8(PM_image));
title('50次迭代后的效果图');
PM_image=PM(imB,300,0.02,2);
SNR(im,PM_image)
figure(3);
imshow(uint8(PM_image));
title('100次迭代后的效果图');
PM_image=PM(imB,500,0.02,2);
SNR(im,PM_image)
figure(4);
imshow(uint8(PM_image));
title('200次迭代后的效果图');
[1]胡鹏, 徐会艳. 基于Matlab的图像去噪算法的研究与实现[J]. 福建电脑, 2009(12):2.
部分理论引用网络文献,若有侵权联系博主删除。版权声明
本文仅代表作者观点,不代表博信信息网立场。