Matlab数字图像处理基础【4】

第四章 空域滤波
目录:
4.1 图像平滑
    4.1.1 线性滤波
    4.1.2 非线性滤波
4.2 图像锐化

4.1 图像平滑
4.1.1 线性滤波
示例:均值滤波去除噪声

获取噪声图像:

clc;

clear;

 

I=imread('flower_gray.jpg');

J=imnoise(I,'salt & pepper',0.02);

subplot(121),imshow(I),title('原始图像');

subplot(122),imshow(J),title('加入椒盐噪声的图像');


均值滤波:

clc;

clear;

 

I=imread('flower_gray.jpg');

J=imnoise(I,'salt& pepper',0.02);

subplot(221),imshow(J),title('噪声图像');

K1=filter2(fspecial('average',3),J)/255;  %进行3*3模板的均值滤波  

K2=filter2(fspecial('average',5),J)/255;  %进行5*5模板的均值滤波  

K3=filter2(fspecial('average',7),J)/255;  %进行7*7模板的均值滤波  

subplot(222),imshow(K1),title('3*3模板均值滤波');

subplot(223),imshow(K2),title('5*5模板均值滤波');

subplot(224),imshow(K3),title('7*7模板均值滤波');



示例:RGB图像的均值滤波去除噪声-1

clc;

clear;

 

I=imread('test_coder.jpg');

subplot(131),imshow(I),title('原图像');

J=imnoise(I,'salt & pepper',0.02);

subplot(132),imshow(J),title('噪声图像');

 

R_J = J(:,:,1);

G_J = J(:,:,2);

B_J = J(:,:,3);

 

K1=filter2(fspecial('average',3),R_J)/255;

K2=filter2(fspecial('average',3),G_J)/255;

K3=filter2(fspecial('average',3),B_J)/255;

 

K(:,:,1) = K1;

K(:,:,2) = K2;

K(:,:,3) = K3;

 

subplot(133),imshow(K),title('3*3模板均值滤波');


示例:RGB图像的均值滤波去除噪声-2

clc;

clear;

 

I=imread('test_coder.jpg');

subplot(221),imshow(I),title('原图像');

J=imnoise(I,'salt & pepper',0.02);

subplot(222),imshow(J),title('噪声图像');

 

K1=imfilter(J, fspecial('average',3));

subplot(223),imshow(K1),title('3*3模板均值滤波');

 

K2=imfilter(J, fspecial('average',5));

subplot(224),imshow(K2),title('5*5模板均值滤波');


4.1.2 非线性滤波

示例:中值滤波

clc;

clear;

 

I=imread('flower_gray.jpg');

J=imnoise(I,'salt & pepper',0.02);

subplot(221),imshow(J),title('噪声图像');

K1=medfilt2(J,[3 3]);  %进行3*3模板的中值滤波  

K2=medfilt2(J,[5 5]);  %进行5*5模板的中值滤波  

K3=medfilt2(J,[7 7]);  %进行7*7模板的中值滤波  

subplot(222),imshow(K1),title('3*3模板中值滤波');

subplot(223),imshow(K2),title('5*5模板中值滤波');

subplot(224),imshow(K3),title('7*7模板中值滤波');


4.2 图像锐化

示例:Laplacian 算子图像锐化

clc;

clear;

 

I=imread('flower_gray.jpg');

h=fspecial('laplacian');

I2=filter2(h,I);

subplot(121),imshow(I),title('原始图像');

subplot(122),imshow(I2),title('滤波后图像');


示例:用sobel算子、prewitt算子、log算子对图像滤波

clc;

clear;

 

I=imread('flower_gray.jpg');

subplot(221),imshow(I),title('原始图像');

h1=fspecial('sobel');

I1=filter2(h1,I);

subplot(222),imshow(I1),title('sobel算子滤波');

h1=fspecial('prewitt');

I1=filter2(h1,I);

subplot(223),imshow(I1),title('prewitt算子滤波');

h1=fspecial('log');

I1=filter2(h1,I);

subplot(224),imshow(I1),title('log算子滤波');

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值