基于matlab的图像处理基础(5)

%噪声添加——h=imnoise(I,type,m,var)
%将均值m,方差var,的type类型噪声,添加到图像I上,默认值均值为0,方差为0.01.
%type为噪声类型——高斯噪声、椒盐噪声
%gaussian高斯噪声:幅度为高斯分布,功率谱均匀分布
%salt&pepper椒盐噪声:黑点如胡椒,白点如盐粒,由图像传感器、传输信道、解码处理、图像切割等产生的黑白相间的亮暗点噪声。

 

%由于matlab的imnoise函数会将输出归一化,在读入图片时先用im2double将图片归一化,以免数据类型不同。

A=imread('BoatsColor.bmp')
I=im2double(A)
h1=imnoise(I,'gaussian',0,0.05)%高斯噪声
h2=imnoise(I,'salt & pepper',0.1);%椒盐噪声
subplot(1,3,1),imshow(I),xlabel('原始图像')
subplot(1,3,2),imshow(h1),xlabel('高斯噪声图像')
subplot(1,3,3),imshow(h2),xlabel('椒盐噪声图像')

运行效果如下:

%空间域滤波——指在图像空间中借助模板对图像领域进行操作,处理图像每一个像素值。
%          ——B=imfilter(f,w,option1,option2,...)
%          ——f 为要进行滤波操作的图像。
%          ——w为滤波操作使用的模板,为一个二维数组,可自己定义。
%          ——option1……是可选项,包括:
%          ——1、边界选项(’symmetric’、’replicate’、’circular’)
%          ——2、尺寸选项(’same’、’full’)
%          ——3、模式选项(’corr’、’conv’)
w=[1,1,1,;1,1,1;1,1,1]
A=imread('BoatsColor.bmp')
B=imfilter(A,w,'corr','replicate')
subplot(1,2,1),imshow(A),xlabel('原图')
subplot(1,2,2),imshow(B),xlabel('滤波后图像')

运行结果如下:

 

%自定义滤波模板——h=fspecial(type,parameters)
A=imread('BoatsColor.bmp')
I=im2double(A)
h1=imnoise(I,'gaussian',0,0.05)%高斯噪声
h2=imnoise(I,'salt & pepper',0.1);%椒盐噪声
w1=fspecial('average',[3 3])
g1=imfilter(h1,w1,'replicate')
g2=imfilter(h2,w1,'replicate')
subplot(2,2,1),imshow(h1),xlabel('高斯噪声图像')
subplot(2,2,2),imshow(h2),xlabel('椒盐噪声图像')
subplot(2,2,3),imshow(g1),xlabel('滤波后图像')
subplot(2,2,4),imshow(g2),xlabel('滤波后图像')

运行结果如下:

%h=fspecial(type,parameters)
%parameters是和所选定的滤波器类型type相关的配置参数,如尺寸和标准差等。
%type为滤波器的类型,如下:
%‘average’——平均模板
%‘disk’——圆形领域的平均模板
%‘gaussian’——高斯模板
%‘laplacian’——拉普拉斯模板
%‘log’——高斯-拉普拉斯模板
%‘prewitt’——Prewitt水平边缘检测算子
%‘sobel’——Sobel水平边缘检测算子
A=imread('man.bmp')
I=im2double(A)
h2=imnoise(I,'salt & pepper',0.01)%椒盐噪声 
w1=fspecial('average',[3 3]) % 大小为3*3的矩形平均滤波器
w2=fspecial('sobel')%sobel算子主要用于边缘检测
w3=fspecial('gaussian',[3 3],0.5)%sigma=0.5的3*3模板,高斯滤波器是平滑线性滤波器的一种,线性滤波器很适合于去除高斯噪声。
w4=fspecial('laplacian',0.2) %拉普拉斯算子会突出像素值快速变化的区域,因此常用于边缘检测。 
w5=fspecial('log',[5 5],0.5)
g1=imfilter(h2,w1,'replicate') 
g2=imfilter(h2,w2,'replicate')  
g3=imfilter(h2,w3,'replicate') 
g4=imfilter(h2,w4,'replicate') 
g5=imfilter(h2,w5,'replicate')  
g6=medfilt2(h2) 
subplot(3,3,1);imshow(I);title('原图') 
subplot(3,3,2);imshow(g1);title('均值滤波') 
subplot(3,3,3);imshow(g2);title('索贝尔滤波') 
subplot(3,3,4);imshow(g3);title('高斯滤波') 
subplot(3,3,5);imshow(g4);title('拉普拉斯滤波') 
subplot(3,3,6);imshow(g5);title('高斯-拉普拉斯滤波') 
subplot(3,3,7);imshow(g6);title('中值滤波')  

运行结果如下:

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值