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

前言:作为一名图像算法攻城狮,那是在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上机实验 (九)

猜你喜欢

转载自blog.csdn.net/sinat_34897952/article/details/107096337