【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《数字图像处理实验报告-图像边缘检测和特征提取》,欢迎阅读!
-
华南师范大学实验报告
一、实验目的
1、.掌握边缘检测的Matlab实现方法 2、了解Matlab区域操作函数的使用方法 3、了解图像分析和理解的基本方法 4、了解纹理特征提取的matlab实现方法
二、实验平台
计算机和Matlab软件环境
三、实验内容
1、图像边缘检测 2、图像纹理特征提取
四、实验原理
1、图像边缘检测
图像理解是图像处理的一个重要分支,它研究的是为完成某一任务需要从图像中提取哪些有用的信息,以及如何利用这些信息解释图像。边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。边缘检测实际上就是检测图像特征发生变化的位置。
由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。边缘检测的方法大多数是基于方向导数掩模求卷积的方法。
导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值比较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方法,提取边界点集。
一阶导数
fx
与
fy
是最简单的导数算子,它们分别求出了灰度在x和y方向上的变化率,
而方向α上的灰度变化率可以用下面式子计算:
.--
-
fff
cossinG(cosisinj) xy
对于数字图像,应该采用差分运算代替求导,相对应的一阶差分为:
xf(i,j)f(i,j)f(i1,j)yf(i,j)f(i,j)f(i,j1)
方向差分为:
f(i,j)xf(i,j)cosyf(i,j)sin
函数f在某点的方向导数取得最大值的方向是tan1
1
2
ff
/,方向导数的最大值yx
ff
是G利用梯度模算子来检测边缘是一种很好的方法,它称为梯度模。
xy
2
2
不仅具有位移不变性,还具有各向同性。为了运算简便,实际中采用梯度模的近似形式,如:
xf(i,j)yf(i,j)、max(xf(i,j),yf(i,j))及maxf(i,j)f(m,n)等。另外,
还有一些常用的算子,如Roberts算子和Sobel算子。
Roberts算子的表达式为:
max(f(i,j)f(i1,j1),f(i1,j)f(i,j1))
Sobel算子的表达式为:
121101
00 y方向算子:202 X方向算子:0
101121
其中,由于Sobel算子是滤波算子的形式,用于提取边缘。我们可以利用快速卷积函数,简单有效,因此应用很广泛。
拉普拉斯高斯(LoG)算法是一种二阶边缘检测方法。它通过寻找图像灰度值中二阶微分中的过零点(Zero Crossing)来检测边缘点。其原理为,灰度级变形成的边缘经过微分算子形成一个单峰函数,峰值位置对应边缘点;对单峰函数进行微分,则峰值处的微分值为0,峰值两侧符号相反,而原先的极值点对应于二阶微分中的过零点,通过检测过零点即可将图像的边缘提取出来。 2、区域简单形状特征 2.1 面积S和周长L
面积和周长时描述块状图形大小的最基本特征。图像中的图形面积S可用同一标记的
.--
-
区域中像素的个数来表示。图形周长L用图形上相邻边缘间距离之和来表示。
3、图像纹理特征提取
3.1 基于图像灰度直方图的特征提取
图像灰度直方图的形状揭示了图像的特征。例如,分布范围狭窄的直方图表示低对比度的图像;单峰直方图描述图像中所含目标的灰度范围相对背景来说具有较窄的灰度范围。
设图像可能的灰度级数为L,其灰度直方图为h(i),i=0,1…,L-1,灰度均值为m,则其n阶中心统计矩为 un
(im)nh(i)
i0
L1
n2,3,...
式中,u2也称方差,是对灰度对比度的度量,可以描述直方图的相对平滑程度;u3表示了直方图的偏斜度;u4描述了直方图的相对平坦型。常见的纹理统计度量如下:
(1) 均值:m
ih(i)
i0
L1
(2) 标准偏差:(3)
2
平滑度:R1-
1
12
3
(4) 三阶矩:2
L
(5) 一致性:U
L1i0
i h2
(6) 熵:e
h(i)logh(i)
i0
L1
3.2基于图像灰度共生矩阵的特征提取
灰度共生矩阵能反映出图像灰度关于方向、相邻间隔、变化幅度的综合信息,它是分析图像的局部模式和它们排列规则的基础。它反映了图像中任意两点灰度的相关性,根据它可以进行纹理特征的抽取及分析。
为了能更直观地以共生矩阵描述纹理状况,从共生矩阵导出一些反应矩阵状况的参数,典型的有以下几种:
(1)对比度:
.--
-
2
CON(ij)p(i,j)
i0j0
nn
(2)相关:
nn
ijp(i,j)xy COR
xyi0j0
1
其中:
n
n
xp(i,j)
i0j0n
n
yp(i,j)
j0i0
nn1 (ix)p(i,j)x
ni0j0
n1n2
y(jy)p(i,j)
nj0i0
(3)能量:
ASMp(i,j)
i0j0n
n
2
(4)逆差矩:
NC
i0L1L1
P(i,j)
2
1(ij)j0
3.3 基于频域的纹理统计方法
纹理的频谱度量是基于傅里叶频谱的,适用于描述图像中的周期或近似周期二维模式的方向性。这些在频域中易于识别的全局纹理模式,在空间域中很难检测到。因此,纹理的频谱对于判别周期纹理模式和非周期纹理模式非常有用,对于量化两个周期末时间的差也非常有用。
对纹理描述有用的傅里叶频谱的3个特征:(1)频谱中突起的尖峰给出了纹理模式的主要方向;(2)在频谱平面中尖峰的位置给出了模式的基本空间周期;(3)通过过滤除去所有周期性的部分,而留下非周期性的图像元素,然后,这些留下的元素可以通过统计技术进行描述。
.--
-
在用频谱法进行纹理特征提取时常使用函数S(r,)的极坐标表达比较简单。这里S是频谱函数,r和 是坐标系中的变量。对于每个方向 ,S(r,)可以看做一维函数S(r)。类似的,对每个频率r,Sr()也是一个一维函数。对固定的 值分析S(r),可得到沿着自原点的辐射方向上的频谱所表现的特性。繁殖,分析固定r值的Sr(),可得到沿着以原点为圆心的圆形上的特性。
通过求这些函数的积分(离散变量求和),我们可得到全局描述:
S(r)S(r)
0
R0
S()Sr()
r1
这里R0是以原点为圆心的圆的半径。
五、思考题
1、在边缘提取中,比较边缘提取中LOG、Canny算子的边缘提取效果。 答:用canny算子与log算子提取边缘的代码如下: I=double(imread('circles.png'));
bw4=edge(I,'canny'); %canny边缘检测 bw5=edge(I,'log'); %log边缘检测 subplot(2,3,1);imshow(I);title('原图')
subplot(2,3,2);imshow(bw4);title('canny边缘检测') subplot(2,3,3);imshow(bw5);title('log边缘检测') 运行结果如下:
由上图可以看出,Canny算子提取的边缘的完整与连续性优于Log算子,并且Canny算子对于弱边缘的检测能力也优于Log算子,具有较高的边缘定位精度,边缘较为平滑。
.--
-
2、在纹理的频域特征提取中,分析纹理方向和纹理周期与Fourier变换谱之间的关系? 答:利用频谱法提取纹理特征代码如下:
f1=imread('texture1.jpg');
[srad1,sang1,s1]=specxture(f1); subplot(2,4,1); imshow(f1); title('原始图像'); subplot(2,4,2); imshow(s1,[]);
title('原始图像的频谱'); subplot(2,4,3); plot(srad1); title('s(r)曲线'); subplot(2,4,4); plot(sang1); title('s(o)曲线');
f2=imread('texture2.jpg');
[srad2,sang2,s2]=specxture(f2); subplot(2,4,5); imshow(f2); title('原始图像'); subplot(2,4,6); imshow(s2,[]);
title('原始图像的频谱'); subplot(2,4,7); plot(srad2); title('s(r)曲线'); subplot(2,4,8); plot(sang2);
title('s(o)曲线');
运行结果如下:
.--
-
由以上两图可知,当某一纹理图像沿Θ方向的边缘大量存在时,则在频率域内沿Θ+Π/2方向即与Θ方向成直角的方向上能量集中出现,因此频谱可以反映纹理的方向性。频谱的s(r)曲线反映了能量随半径r的变化曲线。在纹理较粗的情况下,即纹理周期较大的情况下,能量多集中在离原点较近的范围内,而在纹理较细的情况下,即纹理周期较小的情况下,能量分散在离原点较远的范围。
3、在共生矩阵中,纹理的粗细是怎样度量的?
答:利用角二阶矩阵,即归一化后的灰度共生矩阵。角二阶矩阵是图像灰度分布均匀程度和纹理粗细的一个度量,当图像纹理细致,分布较为均匀时,能量值较大,反之较小。
六、实验报告要求
1、写出边界提取的原理。
答:在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。边缘检测实际上就是检测图像特征发生变化的位置,边缘检测的方法大多数是基于方向导数掩模求卷积的方法。导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值比较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方
.--
-
法,提取边界点集。
2、写出区域描述中,二维Fourier变换谱纹理描述原理。
答:描述纹理可以从纹理的周期与纹理的方向来描述。设纹理图像的傅里叶变换为F,
定义图像的功率谱为|F|2=F×F*,F*为F的共轭,如果把傅里叶变换用极坐标形式来表示,则有F(r,Θ)的形式,此时功率谱也变换为半径r与Θ的函数。对实际纹理的研究表明,纹理的粗细,即纹理的周期与功率谱的能量分布与原点的距离有关,而能量沿某个方向的分布也与纹理的方向有关,因此,傅里叶变换谱可以用来描述频谱。
.--
本文来源:https://www.wddqxz.cn/5dbb1d1da02d7375a417866fb84ae45c3b35c297.html