《数字图像处理》实验指导书(11电子)

  • 格式:doc
  • 大小:230.50 KB
  • 文档页数:30

《图像处理与机器视觉》

实验指导书

杭州师范大学钱江学院

理工分院

2014年2月

目 录

实 验 守 则 ..................................................................... 1

实验一 图像的基本操作 ..................................................... 2

实验二 频域变换 ................................................................. 6

实验三 图像增强与平滑 ..................................................... 9

实验四 图像增强与平滑-续 .............................................. 12

实验五 图像分割与边缘检测 ........................................... 16

实验六 图像的几何变换 ................................................... 18

实验七 图像形态学处理 ................................................... 21

实验八 数字图像处理应用 ............................................... 24

附录 ....................................................................................... 26

1

实 验 守 则

为了加强实验室管理,提高实验教学质量,培养学生理论联系实际的学风,提高实际操作技能,确保人身和设备的安全,特制定如下守则:

1.实验前要认真预习,了解实验目的、实验原理、实验线路、实验步骤及欲测的物理量。熟悉和实验有关的仪器设备的用途、使用方法及注意事项。能回答指导教师的提问。

2.每个实验小组要选出组长1名,实验时要认真分工,轮流当记录员和操作者,以便每个人都能得到较全面的训练。实验线路接好后,各组学生要自行检查,然后请指导教师检查,经检查无误后方可接通电源。改接线路必须先断开电源,以免触电及损坏仪表。改接后的线路仍需经教师检查。

3.实验时应听从教师指导,严格按实验步骤进行,如实记录实验数据,积极思考和分析实验中发生的现象。实验中如遇事故应立即关断电源、保持现场,报告指导教师及时处理。如有损坏仪器或器件,要填写事故原因及报损单。

4.实验完毕应立即关断电源,把实验记录交指导教师检查合格后方可拆除线路。如发现实验记录有不当和错误之外,应立即重作。要把所有仪器、仪表、工具、导线整理好。经指导教师清点后方可离开实验室。

5.要爱护公物。实验室所有的仪表、工具、器件等一律不得擅自带出。实验中如需更换仪器、仪表、工具、器件等,必须经指导教师同意。不得擅自更换或乱拿他组物品。未经允许,不得擅自拆卸实验用的仪器、设备。

6.实验时要严肃认真,讲究文明、礼貌,要保持安静和室内整洁,不随地吐痰和乱抛杂物。实验完毕要打扫实验室卫生。

7.书写实验报告时,语言要力求简练,书写应端正,作图应正规。实验报告一般应包括以下内容:

(1) 实验目的;所用仪器、仪表、器件的名称及规格型号;实验电路原理图。

(2) 实验项目(指导书中的详细内容不必抄录);测试记录表;波形图及现象记录。

(3) 实验数据整理,计算后的结果、及根据实验数据绘制的曲线。

(4) 实验分析,应包括与理论计算值的比较、现象分析。

8.关于实验考核:

学生在实验课中的实际技能水平与实验报告的质量是评定本课程实验成绩的标准。因各种原因缺做实验和缺交实验报告者,实验成绩要受影响。

2

实验一 图像的基本操作

实验学时:4

实验类型:验证

实验要求:必做

一、实验目的

利用MATLAB软件,熟悉图像的数据矩阵操作、图像的类型转换及图像的存储等基本操作。

1.熟悉图像矩阵的基本操作

2.掌握图像数据类型转换及图像类型转换

3.掌握图像文件的读写

4.掌握图像及灰度图像直方图的显示

5.掌握图像缩放和旋转

二、实验原理和方法

1.关于图像矩阵

MATLAB中图像数据以矩阵方式的存储。所以有必要学会关于矩阵的操作,由于篇幅有限,这里只作简要的介绍。

生成矩阵的函数有 :

eye 生成单位矩阵 ones全1阵 zeros 全零阵

rand 均匀随机阵 randn 正态随机阵

2.图像数据类型及图像类型

2.1 图像数据类型转换

MATLAB中图像数据矩阵的存储方式为双精度(double)类型即64位浮点数。而存储图像时MATLAB有时采用无符号整型(uint8)即图像矩阵中的每个数据占用一个字节。由于大多数运算和函数(比如最基本的矩阵加减运算)都不支持uint8类型,所以运算时通常要将图像转换成 double型。

函数double将数据转换为双精度浮点类型,调用格式为:

X64=double(x8) /256

2.2 图像类型及转换

在MATLAB中,一幅图像可能包含一个数据矩阵,也可能有一个颜色映像表矩阵。MATLAB图像处理工具箱支持四种图像类型,其区别在于数据矩阵元素的不同含意。它们是:

真彩色图像

索引图像

灰度图像

二值图像

(1)真彩色图像

真彩色图像又称RGB图像,对于一个尺寸为M×N的彩色图像来说,在MATLAB中则存储为一个M×N×3的多维数组,像素的颜色由保存在像素位置上的R、G、B的强度值的组合来确定。如果需要知道图像A中(x,y)处的像素值,则可以使用这样的代码A(x,y,1:3)。

(2)索引图像

3

MATLAB中的索引图像包含两个结构,一个是调色板,一个是图像数据矩阵。调色板是一个m×3的色彩映射矩阵,矩阵的每一行都代表一种色彩,与真彩色图像相同,通过3个分别代表红、绿、蓝颜色强度的双精度数,形成一种特定的颜色。调色板通常和索引图像存在一起,当读入图像时,MATLAB同时加载调色板和图像。

(3)灰度图像

灰度图像就是只有强度信息,而没有颜色信息的图像。存储灰度图像只需要一个数据矩阵,矩阵的每个元素表示对应位置像素的灰度值,灰度图像的数据类型可以是doubIe类型,这时值域为[0,1],也可以uint8类刑,值域是[0,255]。

(4)二值图像

二值图像就是只有黑白两种值的图像,我们可以把它看作是特殊的灰度图像。二值图像只需一个数据矩阵来存储,每个像素只取0或1。

MATLAB提供了若干函数,用于图像类型的转换,这些函数如下所示:

 rgb2gray 将RGB图像转换成灰度图像

 Gray2ind 将灰度图像转换成索引图像

 Im2bw 设定阈值将图像转换为二值图像

 Im2double 将图像数据阵列转换为double型

 Im2unit8 将图像数据阵列转换为unit8型

 Im2unit16 将图像数据阵列转换为unit16型

 Ind2gray 将索引图像转换为灰度图像

 Ind2rgb 将索引图像转换成真彩色图像

2.3 图像读写及显示

MATLAB为用户提供了专门的函数以从图像格式的文件中读写图像数据。

(1)图像文件的读取

利用imread函数可以完成图像文件的读取操作,常见调用格式为:

A = imread(FILENAME,FMT)

其作用是将文件名用字符串FILENAME表示的、扩展名用字符串FMT(表示图像文件格式)表示的图像文件中的数据读到矩阵A中。如果FILENAME所指的为灰度图像,则A为M×N的二维矩阵;如果FILENAME所指的为RGB图像,则A为M×N×3的三维矩阵。

(2)图像文件的写入(保存)

利用imwrite函数完成图像的写入操作,也完全支持上述各种图像文件的格式,其常用的调用格式为:

imwrite(A,FILENAME,FMT)

(3)图像文件的显示

MATLAB的图像处理工具箱提供了多种图像显示技术。例如,imshow函数可以直接从文件显示多种类型的图像;image函数可以将矩阵作为图像显示;colorbar函数可以用来显示颜色条。

 imshow函数是最常用的显示各种图像的函数,格式为:

 imshow(I,n); %显示灰度矩阵I, n设置显示的灰度值范围(级数),默认值为256。

 imshow(RGB) %显示真彩色图像

 imshow filename %直接显示图像,但图像数据不在MATLAB的workspace中。

可以将多幅图像显示在一个图形窗口中,达到这一目的有两种方法:一种方法是联合使用subplot函数和imshow函数,但此方法在一个图形窗口只能有一个调色板;另一种方法是联合使用subplot函数和subimage函数,此方法可在一个图形窗口内使用多个调色板。

subplot函数将一个图形窗口划分为多个显示区域,其调用格式如下:

subplot(m,n,p)

4

subplot函数将图形窗口划分为m(行)×n(列)个显示区域,并选择第p个区域作为当前绘图区。

(4)灰度直方图的显示

MATLAB图像处理工具箱提供了imhist函数来计算和显示图像的直方图,imhist函数的语法格式为:

imhist(I, n)

imhist(X, MAP)

其中imhist(I,n)计算和显示灰度图像I的直方图,n为指定的灰度级数目,默认值为256。imhist(X,

MAP)计算和显示索引色图像X的直方图,map为调色板。

3.图像的几何运算

3.1 图像的缩放

MATLAB图像处理工具箱中的函数imresize可以用三种方法对图像进行插值缩放,如果不指定插值方法,则默认为最邻近插值法。imresize函数的语法格式为:

B = imresize(A, m, method), 返回原图像A的m倍放大的图像(m小于1时效果是缩小)。

这里参数method用于指定插值的方法,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值),'bicubic'(双三次插值),默认为'nearest'。

B = imresize(A, [numrows numcols]),返回的图像B具有由[numrows numcols]指定的行、列数。

3.2 图像的旋转

在工具箱中的函数imrotate可用上述三种方法对图像进行插值旋转,默认的插值方法也是最邻近插值法。imrotate的语法格式为:

B = imrotate(A, angle, method)

函数imrotate对图像进行旋转,参数method用于指定插值的方法,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值),'bicubic'(双三次插值),默认为'nearest'。一般说来旋转后的图像会比原图大,超出原图部分值为0。

三、实验内容和步骤