数字图像处理 实验指导书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数字图像处理》实验指导书

黄剑航编

莆田学院电子信息工程学系

2011年8月

前言

数字图像处理是研究关于数字图像的基本理论、方法,及其在电子、信息领域中应用的学科,是电子信息类本科专业的专业课。

本实验课程围绕数字图像处理这一核心,使学生掌握图像处理的基本理论及其实现方法,提高学生的编程、应用和创新能力,拓宽学生的知识面。

要求学生系统掌握数字图像处理的基本概念、原理和实现方法,学习图像分析的基本理论、典型方法和实用技术,具备数字图像处理应用编程的初步能力,为在计算机视觉、模式识别等领域从事研究与开发打下扎实的基础。通过本课程实验,学生应掌握MATLAB以及数字图像处理的相关算法。

实验条件:

硬件

PC机,PII以上CPU,256M以上内存;

软件

MATLAB6.5以上版本;提供实验用到的图像。

目录

实验一数字图像的基本操作 (1)

实验二数字图像插值 (3)

实验三数字图像变换 (6)

实验四数字图像增强 (9)

实验五数字图像彩色处理 (12)

实验六数字图像分割(综合性实验) (14)

实验一 数字图像的基本操作

一、实验目的

熟悉MATLAB 中数字图像的不同数据类型,不同图像数据类型之间的转换,掌握数字图像的读取、显示、保存,实现图像翻转,剪裁等一些基本操作,掌握二维矩阵的操作。熟悉相关的MATLAB 函数和help 帮助的使用。

二、实验原理

MATLAB 中常用的数字图像数据类型有:

uint8, 无符号8比特整数,范围为[0,255](每像素一个字节);

uint16,无符号16比特整数,范围为[0,65535](每像素两个字节);

double ,双精度浮点数,范围为30830810~10 (每像素8个字节);

logical ,逻辑型,值为0或者1(每像素一个比特)。

MATLAB 中所有的计算都可以用double 类进行,所以它也是图像处理应用中最常使用的数据类。uint8数据类也是一种频繁使用的数据类,尤其是在从存储设备中读取数据时,因为8比特图像是实际中最常用的图像。logical 类则主要用在二值图像中,logical 类的矩阵中每个元素取值只能是0和1。

图像数据类型之间转换,一种方法是:B=data_class(A),其中data_class 代表上述图像数据类型的任一项。例如,A 是一个uint8类数据数组,则B=double(A)产生了一个双精度数组B ;假如C 是一个取值范围为[0,255]的double 类数组,则命令D=uint8(C)可将其转换为一个unit8数组。

另外一种类型转换的方法是使用类型转换函数,如im2uint8, im2double,

mat2gray, im2bw 。这些函数同时具有数据大小缩放功能。使用的时候注意输入输出数据类型和范围。具体查看帮助内容。

图像数据在MATLAB 中按照一定的数据类型,以矩阵的方式存储、读取和显示。因此许多有关数字图像的处理就和矩阵的操作相关。常用的一些命令有:图像读取,imread ;图像保存,imwrite ;图像显示,imshow 。具体使用方法同样可

以查看帮助内容。

三、实验内容及步骤

1、运行如下程序,观察结果,分析学习程序每一行。

clear

close all

a=zeros(256);

for i=1:256

a(:,i)=i-1;

end

a=uint8(a);

imshow(a);

参照上面程序自己编写一个程序,要求显示一幅图像(256×256),像素值从上往下递增。

2、读取MATLAB自带的cameraman.tif 图像,将图像上下翻转显示,并将结果图片保存为另外一幅图像。

3、利用im2double函数将unit8类型图像转换为double类型图像,并在MATLAB 工作区窗口观察变量类型、数值。利用im2bw 函数将unit8或者double 类型图像转换为二进制(logical)类型图像,用imshow显示结果图片,并在MATLAB 工作区窗口观察变量类型、数值。自己举例实验mat2gray用法。

4、剪裁出cameraman.tif 图像右下角的128×128大小的图片,并显示、保存。

5、利用max,find 函数寻找cameraman.tif 图像中像素最大值点的位置和大小。同理也可以寻找出最小点的位置。

6、求出cameraman.tif图像的像素平均值。

四、实验报告要求

1、具体格式参照“电子信息工程系实验报告”格式。

2、选择以上实验内容中自己体会最深的3个内容写入实验报告。

3、注意实验报告要求分析组织有条理,截图美观,结论正确。

实验二数字图像插值

一、实验目的

学习掌握数字图像放大的插值方法,编程进一步熟悉图像的矩阵操作。

二、实验原理

1、邻近点插值法

在原来图像的每行每列后面加上左边和上面的一行像素值。实际上这样的处理方式将原来的一个像素点,变成灰度值大小相同的4个像素点。从而获得了数字图像在空间尺寸上的放大作用。

2、双线性插值法

图1双线性插值法原理图

以图像放大为例说明双线性插值法。先对竖直方向插值,插值点取在竖直方向相邻像素的中点,这是双线性插值的特殊点,该点插值为相邻像素值的均值。竖直方向完成插值之后再进行水平方向插值。即可完成图像的放大作用。

三、实验内容

1、对一个256×256的灰度图像进行隔行隔列抽取,构成大小为 128×128,64×64大小的新图像。

2、利用邻近点插值法对数字图像进行插值放大。

3、利用双线性插值法对数字图像进行插值放大,注意插值放大后的图像大小。

4、附加题:三次立方插值

该方法利用三次多项式()S x 来逼近理论上的最佳插值函数sin()/x x ,其数学表达式为:

23

231201()4851202

x x x S x x x x

x x ⎧-+≤<⎪⎪=-+-≤<⎨⎪≥⎪⎩ 上式中的是周围象素沿方向离原点的距离。待求象素的灰度值由其周围16个点的灰度值加权内插得到。可推导出待求象素的灰度值计算式为:

(,)(,)f x y f i u j v ABC =++=

其中

(1)()(1)(2)T S v S v A S v S v +⎡⎤⎢⎥⎢⎥=⎢⎥-⎢⎥-⎣⎦(1)()(1)(2)S u S u C S u S u +⎡⎤⎢⎥⎢⎥=⎢⎥-⎢⎥-⎣⎦

(1,1)(1,)(1,1)(1,2)(,1)(,)(,1)(,2)(1,1)(1,)(1,1)(1,2)(2,1)

(2,)(2,1)(2,2)f i j f i j f i j f i j f i j f i j f i j f i j B f i j f i j f i j f i j f i j f i j f i j f i j ----+-+⎡⎤⎢⎥-++⎢⎥=⎢⎥+-+++++⎢⎥+-+++++⎣⎦

相关文档
最新文档