数字图像处理
实 验 指 导 书
东北林业大学信息与计算机工程学院
计算机科学与技术专业
目 录
1 实验目的与要求………………………………………………………………… 2
2 实验环境………………………………………………………………………… 2
3实验一般步骤……………………………………………………………………2
4 实验时数………………………………………………………………………………3
5 实验内容和具体要求…………………………………………………………………3
实验一 图像打开、保存与显示…………………………………………………………4
实验二 图像灰度直方图统计…………………………………………………………6
实验三 图像轮廓提取与边缘检测……………………………………………………8
实验四 二维图像几何变换……………………………………………………………11
补充实验 均值滤波与中值滤波………………………………………………………14
1、实验目的与要求
本课程是信息管理与信息系统专业的选修课程。通过教学使学生了解数字图像处理技术的发展概况,使学生掌握图像的数字化、图像的变换、图像的压缩和编码、图像的增强、图像恢复和重建等基本概念和相关方法,为在这一领域中进行深入学习和研究打下必要的基础。上机操作是本课程必不可少的实践环节,主要目的是锻炼和培养学生实际操作技能和综合利用所学过的知识解决实际问题的能力。
(1)加深对上课内容的理解。因为缺少实际操作会使同学难以记住,通过多次上机,就能自然地、熟练地巩固数字图像处理的相关技术和方法。
(2)熟悉所用计算机系统和软件的操作方法,也就是了解和熟悉Matlab环境。掌握图像处理工具箱的基本函数和命令。
(3)学会上机调试程序,善于发现错误,并且能很快地排除错误,使程序能正确运行。计算机技术是实践性很强的技术,要求从事这一领域的人不仅能了解和熟悉有关理论和方法,还要求自己动手实现。因此调试程序本身是程序设计课程的一个重要的内容和基本要求,应给予充分的重视。
2、实验环境
计算机、Windows XP操作系统、MATLAB7.0软件
3、实验一般步骤
(1)预先准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效率。对程序中自己有疑问的地方,应做出记号,以便在上机时给予注意。
(2)上机输入和调试程序。应该一人一组,独立上机。上机过程中出现的问题,除了是系统的问题以外,一般应自己独立处理,不要轻易举手问教师。尤其对“出错信息”,应善于自己分析判断。这是学习调试程序的良好机会。在程序调试通过后,打印输出程序清单,在运行时要注意在输入不同图像文件时所得到的不同结果。此时应运行几次,分别检查在不同情况下程序是否正确。
(3)上机结束后,应及时整理出实验报告,实验报告包括以下内容:
① 实验目的
② 实验环境
③ 实验内容
④ 数据处理与讨论分析
4、实验时数
总实验时数8学时。
5、实验内容和具体要求
实验一 图像打开、保存与显示
一、实验目的:
掌握数字图像的基本类型及其表示。熟悉Matlab软件环境,了解Matlab中对图像数据的读入、显示和输出等操作,实现图像文件的打开、显示与保存功能。
二、实验环境:
计算机、Windows XP操作系统,Matlab7.0
三、实验内容:
1、运用Matlab图像处理工具箱中的imread函数分别读入灰度图像、二值图像、RGB图像和索引图像,并观察相应的图像矩阵,并运用imshow函数显示相应图像。
%读入灰度图像pout,并显示
I_huidu=imread('pout.tif');
figure(1), imshow(I_huidu) , title('灰度图像');
%读入二值图像circles,并显示,注意查看图像矩阵(uint8,0表示黑,255表示白)
I_erzhi=imread('circles.png');
figure(2), imshow(I_erzhi) , title('二值图像');
%读入二值图像blobs,并显示,注意查看图像矩阵(logical,0表示黑,1表示白)
I_erzhi=imread('blobs.png');
figure(2), imshow(I_erzhi) , title('二值图像');
%读入RGB图像football,并显示
I_RGB=imread('football.jpg');
figure(3), imshow(I_RGB) , title('RGB图像');
%读入索引图像trees,并显示
[I_suoyin, colormap]=imread('trees.tif');
figure(4), imshow(I_suoyin, colormap) , title('索引图像');
2、对一个RGB彩色图像,分别抽取其R、G、B三个分量层,并显示各层图像。
A=imread('football.jpg'); %也可读入RGB图像peppers.png
R=A(:, :, 1);
G=A(:, :, 2);
B=A(:, :, 3);
subplot(2, 2, 1), imshow(A), title('原始图像');
subplot(2, 2, 2), imshow(R), title('R层图像');
subplot(2, 2, 3), imshow(G), title('G层图像');
subplot(2, 2, 4), imshow(B), title('B层图像');
3、向灰度图像pout中分别加入高斯噪声和椒盐噪声,显示并保存带有噪声的图像。
I=imread('pout.tif ');
subplot(1, 3, 1), imshow(I), title('原始图像');
G=imnoise(I, 'gaus