大连理工大学数字图像处理实验预习报告2

数字图像处理实验预习报告

学院(系): 电信学部 专业: 电子信息工程 班级: 电子1102 姓 名: 陈柯锦 学号: 201181442 组: ___ 实验时间: 实验室: 实验台: 指导教师签字: 邢慧玲 成绩:

实验名称 图像的边缘检测

一、实验目的和要求

1、理解图像边缘提取的基本概念;

2、熟悉进行边缘提取的基本方法;

3、掌握用MATLAB语言进行图像边缘提取的方法。

二、实验原理和内容

边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。边缘检测实际上就是检测图像特征发生变化的位置。 由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。边缘检测的方法大多数是基于方向导数掩模求卷积的方法。

MATLAB的图像处理工具箱中提供的edge函数可以实现检测边缘的功能,其语法格式如下: BW = edge(I, ‘sobel’)

BW = edge(I, ‘sobel’, direction)

BW = edge(I, ‘roberts’)

BW = edge(I, ‘log’)

这里BW = edge(I, ‘sobel’)采用Sobel算子进行边缘检测。BW = edge(I, ‘sobel’, direction)可以指定算子方向,即: direction = ‘horizontal’,为水平方向;direction = ‘vertical’,为垂直方向; direction= ‘both’,为水平和垂直两个方向。 BW = edge(I, ‘roberts’)和BW = edge(I, ‘log’)分别为用Roberts

算子和拉普拉斯高斯算子进行边缘检测。

图像无噪声时,可用Roberts算子;Prewitt和Sobel算子同时具有平均,即抑制噪声作用;对阶跃状边缘,Roberts得到的边缘宽度≥1个像素,Prewitt和Sobel算子得到的边缘宽度≥2个像素。 在利用edge函数进行相应的算子边缘检测的时候,各算子的差别非常微小,不过由相应的参数,三个算子分别为0.08、0.05、0.04可以知道,Sobel算子在边缘检测中最为敏

三、实验步骤

1、 分别用Roberts、Sobel和Prewitt算子对图像进行边缘检测。比较三种算子处理的结果。

2、 用不同方向(‘水平’、‘垂直’、‘水平和垂直’)的Sobel算子对图像进行边缘检测。比较三种情况的结果。

3、 自编程序,实现一种利用模版进行边缘检测处理,也就是调用filter2函数利用模版对图像进行滤波即可。

 

第二篇:大连理工大学数字图像处理实验预习报告1

数字图像处理实验预习报告

学院(系):   电信学部        专业:      电子信息工程    班级:电子1102   

姓     名:     陈柯锦        学号:    201181442           组:         ___ 

实验时间:                  实验室:                    实验台:            

指导教师签字:                邢慧玲                       成绩:             

实验名称图像基本操作

一、实验目的和要求

1. 利用matlab获取图像;

2. 图像直方图均衡;

3. 图像的点运算;

4. 图像的几何变换;

二、实验原理和内容

1. 利用matlab获取图像

(a)imread :imread函数用于读入各种图像文件,其一般的用法为

[X,MAP]=imread( ‘filename’, ‘fmt’) 其中,X为读出的图像数据,MAP为颜色表数据(或称调色板,亦即颜色索引矩阵,对灰度图像和RGB彩色图像,该MAP为空矩阵),fmt为图像的格(可以缺省),filename为读取的图像文件(可以加上文件的路径)。

(b)imwrite :imwrite函数用于输出图像,其语法格式为:

imwrite(X, MAP, filename, fmt) imwrite(X, MAP, filename, fmt) 按照fmt指定的格式将图像数据矩阵X和调色板MAP写入文件filename。

(c)imshow MATLAB图像处理工具箱提供了imshow函数来显示各种图像,其语法如下:

imshow(I, n) 或imshow(I_BW);imshow(X, MAP);imshow(I_RGB) 其中imshow(I, n)用于显示灰度图像,I是图像数据矩阵,n为灰度级数目(n可缺省,缺省值为256)。其它的分别用于显示二值图像、索引色图像和RGB真彩色图像。另外,对RGB彩色图像,还可以用imshow( RGB(:, :, 1) )、imshow( RGB(:, :, 2) )、imshow( RGB(:, :, 3) )分别显示RGB图像的R、G、B三个分量(注意:这样显示出的图像是以各分量值为对应的灰度值所显示的灰度图像)。

2. 图像直方图均衡 :

直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。

MATLAB中使用histeq函数,可以实现直方图的均衡化。 对于灰度图像,histeq函数的基本调用格式为 J=histeq(I, n) 该函数返回原图像I经过直方图均衡化处理后的新图像J。n为指定的均衡化后的灰度级数,缺省值为64。

3. 图像的点运算(图像相加,相减,线性变换,非线性变换(对数函数,幂次函数))

图像的线性化处理可以加大图像动态范围,扩展对比度,使图像清晰,特征明显,大大改善人眼的视觉效果。在线性化处理过程中,各个参数要根据新的直方图以及图像效果进行调整,直到满意再最后确定。没有一个公式的参数是固定不变的。

实验中直接在图像矩阵商队相应位置的像素的灰度值直接进行操作,实现对图像的点运算。

4. . 图像的几何变换(图像的缩放,旋转和镜像) . 图像的缩放

MATLAB图像处理工具箱中的函数imresize可以用三种方法对图像进行插值缩放,如果不指定插值方法,则默认为最邻近插值法。 imresize函数的语法格式为: B = imresize(A, m, ‘method’) 上式返回原图像A的m倍放大的图像(m小于1时效果是缩小)。这里参数’method’用于指定插值的方法,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值),'bicubic'(双三次插值),默认为'nearest'。

5.图像的旋转

在工具箱中的函数imrotate可用上述三种方法对图像进行插值旋转,默认的插值方法也是最邻近插值法。 imrotate的语法格式为: B = imrotate(A, angle, ‘method’) 函数imrotate对图像进行旋转,参数’method’用于指定插值的方法,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值),'bicubic'(双三次插值),默认为'nearest'。一般说来旋转后的图像会比原图大,超出原图部分值为0。

三、实验步骤

1. 实现以下图像点运算

2. 图像与其直方图均衡后的图像相加

3. 图像与其直方图均衡后的图像相减

4. 图像线性变换和非线性变换

5. 将图像放大1.5倍,插值方法使用三种不同方法,显示放大后的图像,比较不同

插值方法的结果有什么不同。

6. 图像缩小0.8、0.5倍,插值方法使用三种不同方法,显示并比较结果有什么差异。

7. 图像分别顺时针旋转30度、45度,插值方法使用三种不同方法,显示旋转后的图像并比较结果有什么不同。

相关推荐