数字图像处理matlab上机实验 (三)

本文是关于数字图像处理的MATLAB上机实验,重点介绍了空域滤波,包括实验目的、原理和内容。实验涉及添加噪声、均值滤波和中值滤波,通过对比不同滤波器对椒盐噪声和高斯噪声的效果,探讨最佳消噪策略。
摘要由CSDN通过智能技术生成

前言:作为一名图像算法攻城狮,那是在2014年大三下学期,一本深绿色的《数字图像处理》(冈萨雷斯的英文版)出现在自己课桌前。偶然间打开的一扇意外之门,就这样结下了一段不解之缘,那些日子不断上网搜代码的自己,那个刚上机不到二十分钟就把作业提交的自己,早已随往日的岁月飘扬而去。三年的烟酒僧,两年的酱油工,而今只觉脑子越来越不够用,这次决心回炉重造,希望能够通过固本培基,打开思路,话不多说,开始上课!
----2020-7-6


实验3 空域滤波

**一、实验目的
通过本实验使学生掌握使用 MATLAB 对灰度图像进行空域增强的目的,加深对图像空域滤波增强方法的理解。
二、实验原理
本实验是基于数字图像处理课程中的图像变换和增强理论来设计的。
本实验的准备知识:第三章,空域图像增强方法。重点如下:
1、空域滤波技术:
添加噪声命令:imnoise
中值滤波技术,复习教材中的中值滤波技术,自己编程实现中值滤波函数,并用自编的函数开展下列实验。
均值滤波技术,复习教材中的中值滤波技术,自己编程实现中值滤波函数,并用自编的函数开展下列实验。
2、MATLAB下设计滤波器的函数
中值滤波命令:B=medfilt2 (I,[3,3]) %使用3×3中值滤波器对I滤波均值滤波技术:
先定义模板,如 H=1/9*ones(3,3), 或 H=fspecial(‘average’,[3,3]);
然后使用命令 I1=imfilter(I, H)对图像I消噪。
【说明:要求学生先自己编写中值滤波或均值滤波的m函数,加深对这两个滤波器的理解】
三、实验内容
(一 )空域滤波
读入lena_gray.tif文件,进行下列操作: **
(1)将图像添加上椒盐噪声, A_noised=imnoise(A, ‘salt & pepper’, 0.02),同屏显示原图像和加噪图像,说明椒盐噪声的特点;

A=imread('F:\Images\lena.bmp');
subplot(1,2,1)
imshow(A);
A_noised=imnoise(A,'salt & pepper',0.02);
subplot(1,2,2)
imshow(A_noised)

在这里插入图片描述

(2)设计3×3、5×5,7×7三种模板的算术均值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明;

h1=fspecial('average',[3,3]);
h2=fspecial('average',[5,5]);
h3=fspecial('average',[7,7]);
A=imread('F:\Images\lena.bmp');
A_noised=imnoise(A,'salt & pepper',0.02);
subplot(2,2,1)
imshow(A_noised)
subplot(2,2,2)
imshow(imfilter(A_noised,h1))
subplot(2,2,3)
imshow(imfilter(A_noised,h2))
subplot(2,2,4)
imshow(imfilter(A_noised,h3))

在这里插入图片描述

(3)设计3×3、5×5,7×7三种模板的中值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明;

A=imread('F:\Images\lena.bmp');
A_noised=imnoise(A,'salt & pepper',0.02);
B= medfilt2(A_noised,[3 3]);
C= medfilt2(A_noised,[5 5]);
D= medfilt2(A_noised,[7 7]);
subplot(2,2,1)
imshow(A_noised)
subplot(2,2,2)
imshow(B)
subplot(2,2,3)
imshow(C) 
subplot(2,2,4)
imshow(D)

在这里插入图片描述

(4)将图像添加上高斯噪声, A_noised=imnoise(A, ‘gauss’, 0.02),同屏显示原图像和加噪图像,说明高斯噪声的特点;

A=imread('F:\Images\lena.bmp');
subplot(1,2,1)
imshow(A);
A_noised=imnoise(A,'gauss',0.02);
subplot(1,2,2)
imshow(A_noised)

在这里插入图片描述

(二)使用 MATLAB 环境下的均值滤波和中值滤波函数进行上述图像处理
思考:椒盐噪声和高斯噪声有何不同特点?分别使用何种滤波器消噪效果好?

A=imread('F:\Images\lena.bmp');
subplot(3,3,1)
imshow(A);
A_noised =imnoise(A,'gauss',0.02);
subplot(3,3,2)
imshow(A_noised)

h1=fspecial('average',[3,3]);
h2=fspecial('average',[5,5]);
h3=fspecial('average',[7,7]);
subplot(3,3,4)
imshow(imfilter(A_noised,h1))
subplot(3,3,5)
imshow(imfilter(A_noised,h2))
subplot(3,3,6)
imshow(imfilter(A_noised,h3))

B= medfilt2(A_noised,[3 3]);
C= medfilt2(A_noised,[5 5]);
D= medfilt2(A_noised,[7 7]);
subplot(3,3,7)
imshow(B)
subplot(3,3,8)
imshow(C) 
subplot(3,3,9)
imshow(D)

在这里插入图片描述

四、实验方法与步骤
1、顺序完成上述实验内容
2、按照实验内容要求,分析编程,将程序和实验结果整理成word文档,分析结果,编写实验报告。

本系列文章列表如下:
数字图像处理matlab上机实验 (一)
数字图像处理matlab上机实验 (二)
数字图像处理matlab上机实验 (三)
数字图像处理matlab上机实验 (四)
数字图像处理matlab上机实验 (五)
数字图像处理matlab上机实验 (六)
数字图像处理matlab上机实验 (七)
数字图像处理matlab上机实验 (八)
数字图像处理matlab上机实验 (九)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mozun2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值