首页 > 其他 > 详细

图像复原MATLAB实现

时间:2019-05-10 23:23:42      阅读:166      评论:0      收藏:0      [点我收藏+]

前言:本篇博客先介绍滤波器滤除噪声,再介绍滤波器复原,侧重于程序的实现。

一:三种常见的噪声

技术分享图片

 

技术分享图片

技术分享图片

 

 二:空间域滤波

空间域滤波复原是在已知噪声模型的基础上,对噪声的空间域进行滤波。
空间域滤波复原方法主要包括:

  均值滤波器

    算术均值滤波器

    几何均值滤波器
    谐波均值滤波器
    逆谐波均值滤波器
  顺序统计滤波器
    中值滤波器
    最大值/最小值滤波器

2.1算数均值滤波器

技术分享图片

1 img=imread(D:/picture/ZiXia.jpg);
2 img=rgb2gray(img);
3 figure,imshow(img);//原图
4 img_noise=double(imnoise(img,gaussian,0.06));
5 figure,imshow(img_noise,[]);//含有高斯噪声的图
6 img_mean=imfilter(img_noise,fspecial(average,3));//滤波后的图
7 figure;imshow(img_mean,[]);

技术分享图片

2.2几何均值滤波器

技术分享图片

1 img=imread(‘cameraman.tif‘);
2 img=rgb2gray(img);
3 figure,imshow(img);
4 img_noise=double(imnoise(img,gaussian,0.06));
5 figure,imshow(img_noise,[]);
6 img_mean=exp(imfilter(log(img_noise+1),fspecial(average,3)));
7 figure;imshow(img_mean,[]);

 

 技术分享图片

 2.3谐波均值滤波器

技术分享图片

2.4逆谐波均值滤波器

 技术分享图片

技术分享图片

采用逆谐波均值滤波器对附加胡椒噪声图像进行滤波的matlab程序如下:

1 img=imread(cameraman.tif);  figure,imshow(img);
2 [M,N]=size(img);R=imnoise2(salt & pepper,M,N,0.1,0);
3 img_noise=img;img_noise(R==0)=0;
4 img_noise=double(img_noise); figure,imshow(img_noise,[]);
5 Q=1.5;
6 img_mean=imfilter(img_noise.^(Q+1),fspecial(average,3))./imfilter(img_noise.^Q,fspecial(average,3));
7 figure;imshow(img_mean,[]);

技术分享图片

采用逆谐波均值滤波器对附加盐噪声图像进行滤波的matlab程序如下:

1 img=imread(csboard.tif);figure,imshow(img);
2 [M,N]=size(img);R=imnoise2(salt & pepper,M,N,0,0.1);
3 img_noise=img;img_noise(R==1)=255;
4 img_noise=double(img_noise); figure,imshow(img_noise,[]);
5 Q=-1.5;
6 img_mean=imfilter(img_noise.^(Q+1),fspecial(average,3))./imfilter(img_noise.^Q,fspecial(average,3));
7 figure;imshow(img_mean,[]);

技术分享图片

 

图像复原MATLAB实现

原文:https://www.cnblogs.com/henuliulei/p/10847052.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!