彩色图像特征提取研究(一)

时间:2020-08-28 18:02:40 通信工程毕业论文 我要投稿

彩色图像特征提取研究(一)

彩色图像特征提取研究
徐红霞

彩色图像特征提取研究(一)

摘要:以普通的彩色图像为例,介绍了对彩色图像特征提取的原理。其具体过程分为原图像的预处理、图像信息分析、图像的特征提取,然后用MATLAB实现具体的过程,最后获得需要的颜色特征、纹理特征、轮廓特征等。
关键词:彩色图像 图像预处理 特征提取
1.引言
1.1 选题背景
 近年来,数字图像的数量正在飞速增长,对日益庞大的图像库进行有效的管理尤为重要。基于内容的图像检索CBIR(Content Based Image Retrieval),如颜色特征、纹理特征等进行索引的方法成为当前多媒体检索研究的热点之一。
 另一方面计算机视觉技术在现代生活中已获得了广泛的应用,高效的图像处理算法是计算机视觉技术能否获得成功应用的关键,近年来,随着计算机视觉研究的不断进步、多媒体技术和虚拟现实技术的不断完善、彩色成像设备的不断改进,彩色图像的应用越来越广泛,然而,图像处理研究仍然集中在灰度图像上。对灰度图像的技术通常不能用到彩色图像,因为彩色图像更复杂,对计算机的计算速度与存储容量要求更高。彩色图像处理己经成为当前图像处理领域重要的研究课题。
 图像的特征有颜色、形状、纹理等。颜色是物体表面的属性,因此对于图像分割和目标识别等的研究都具有非常重要的意义。颜色在计算机视觉中应用也在不断进步;另一方面,纹理是物体表面结构的模式,可以认为是颜色(灰度)在空间以一定的变化形式而产生的图案(模式),是图像的一种区域性质[8]。
1.2 程序简介
 MATLAB是一门编程语言,其语法规则与一般的结构化编程语言(如C语言等)大同小异,而且它不需要定义变量和数组,使用更加方便。具有一般的语言基础就可以很快掌握。其次MATLAB有代码短小高效的特点,由于MATLAB已经将数学问题的具体算法编成了现成的函数,我们只要熟悉算法的特点、使用场合、函数的调用格式和参数意义等,通过调用函数就可以很快地解决问题。该软件有六十多个工具箱,可以直接调用,节省时间和精力。工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、控制系统辨识、神经网络等。随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富。随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此,应用范围也越来越广泛,成为涉及数值分析的各类工程师不可不用的工具。其次,它有强大的图形表达功能,不仅可以绘制一般的二维、三维图像,如线图、条形图、饼图、散点图、直方图与误差条图等,还可以绘制工程特性较强的特殊图形,如玫瑰花图、极坐标图、二维、三维等值线图、三维表面图、假彩色图、二维、三维流线图、三维彩色流锥图、流沙图、流带图、流管图、卷曲图与切片图等,此外还可以生成快照图和进行动画制作,对于图像的处理有很重要的作用。所以这次研究我们以MATLAB作为实现原理过程的程序。
1.3 课题流程
本课题主要的环节为彩色图像的分析和特征提取,流程图如下:

原图像 → 图像预处理 → 图像分析 → 特征提取

原始图像:由各种路径获得且能被MATLAB支持的各种格式的图像数据,如BMP格式、GIF格式、TIF格式、JPEG格式的图像等。
图像的预处理:直方图修正,灰度变化,图像的平滑与锐化,图像类型转换。
图像分析:像素值统计,直方图提取,区域属性等。
特征提取:彩色图像的轮廓特征,颜色值特征,纹理特征等。
本文以MATLAB工具箱中一张普通的彩色图像‘flowers.tif’为例,利用MATLAB编程实现彩色图像的特征提取:
2.图像的预处理
2.1直方图修正
 直方图修正的应用非常广泛。例如:在医学上,为了改善X射线机操人员的工作条件,可以采用低强度的X射线曝光,但是这样获得的X光片灰度级集中在暗区,许多图像细节无法看清,判断困难,通过修正使灰度级分布在人眼合适的亮度区域,就可以使X光片中的细节,如筋骨、关节等清晰可见。另外还有一些非可见光成像的工业无损检测(如射线成像、红外成像等),军事图像通常有直方图均衡化和直方图规定化两大类。下面介绍其中一种方法—直方图均衡化:
 直方图均衡化也称为直方图均匀化,是一种常用的灰度增强算法,是将原图的直方图经过函数修正为均匀直方图,然后按均衡化的直方图修正原图像。具体方法是:
给出原始图像的所有灰度级Sk,k=0,1,…,L-1。
统计原始图像各灰度级的像素nk。
用式p=(Sk)=nk/n  计算原始图像的'直方图。
计算原始图像的累计直方图。
取整计算:Tk=int[(N-1)tk+k/N]
确定映射关系Sk→tk。
统计新直方图各灰度级的像素nk。
计算新的直方图:pk=nk/n
2.2图像的平滑与锐化
 图像的平滑-低通滤波:一般说来,图像的边缘和噪声都应对于傅里叶变换中的高频部分,所以能让低频信赖畅通无阻而同时滤波掉高频分量的低通滤波器能够平滑图像,去除噪声。
 这里应该指出,傅里叶变换的主要能量都集中在频谱中心的,合理的选择截止频率对保留图像的能量是至关重要的,以一副256×256的图像为例,如果D0=5,那么理想低通滤波器将保存图像98%的能量。随着D0的增大,图像的能量将迅速流失,如果D0=22,那么98%的能量将会通过该滤波器流失。另外,理想低通滤波后的图像将会出现一种“振铃”特性,造成图像不同程度的模糊,D0越小,模糊程度越明显。造成这种模糊的原因在于理想低通滤波器的传递函数H(u,v)在D0处由1变为0,该H(u,v)经过傅里叶反变换后在空域中将表现为同心圆的形式。
 图像的锐化-高通滤波:由于图像中灰度发生骤变的部分与其频谱的高频分量相对应,所以应采用高频滤波器衰减或抑制低频分量,使高频分量畅通并能够对图像进行锐化处理。
由于经过高通滤波处理后的图像丢失了许多低频信息,所以图像的平滑区基本会消失。为此,需要采用高频加强滤波来弥补。高频加强滤波就是在设计滤波传递函数时,在原有的设计结果上添加一个大于0,小于1的常数c,即
H’(u,v)=H(u,v)+c
于是滤波结果为
G’(u,v)=F(u,v)H’(u,v)=F(u,v)H(u,v)+cH(u,v)
由上式可见,高频加强滤波在高频滤波的基础上保留了cF(u,v),的低通分量,高频分量也比一般高通滤波时加强了cF(u,v),故称为高频加强滤波,这种滤波处理效果比一般的高频滤波要好。
2.3 图像类型转换
 在MATLAB中图像类型可分为二值图像、索引图像、灰度图像、多帧图像和RGB图像,许多图像处理对图像的图像类型有一定的要求,如MATLAB中彩色图像的轮廓及边缘提取需要将真彩图像转换为灰度图像,而具体的过程只需要通过rgb2gray函数就可以实现。同样将彩色图像二值化也只需通过im2bw函数就能获得,通过MATLAB对原图编程,获得如下图形:

图(2-5)图像的格式转化
3.图像的分析
3.1 像素值统计
 像素值在彩色图像中表示为颜色值的信息,用于彩色图像的颜色特征提取。MATLAB的图像处理工具箱提供有pixval函数和impixel函数用于提供图像特定像素的数据值(灰度值或颜色值)信息。而improfile函数用于沿着图像中一条直线段或折线段计算和绘制图像像素值的图像[2]。三个函数分别获得像素值统计结果如下:
         
 图(3-1)pixval函数统计像素值          图(3-2)impixel函数统计像素值
 
      图(3-3)improfile函数统计像素值
3.2 直方图提取
 直方图用于显示灰度图像的灰度值分布,用于图像的纹理特征提取。MATLAB中用imhist函数可以创建图像的统计直方图,得到的结果如下图所示:
 
 图(3-4)图像直方图提取
 
3.3 区域属性
 图像区域的有关属性有区域的面积、质心、均值、标准差和相关系数等等,对于彩色图像纹理等特征的提取有很大的作用,在MATLAB中可以用mean2函数、std2函数和corr2函数分别计算图像矩阵的均值、标准差和两个相同矩阵的相关系数。有关他们的用法不再细讲。而对于选定的图像区域可以用regionprops函数来计算,例如,区域的面积、质心、包含区域的边框等。
4.特征提取
4.1彩色图像特征提取
 通过图像信息去测量、识别或理解其中的对象物,依赖于一些能表征对象物的图像物理特征,如边缘、区域、形状、颜色、纹理等等。通过各种处理方法,将包含图像信息的必要的特征显露出来,并加以量化的处理称之为彩色图像的特征提取[1]。
 图像特征是指图像的原始特性或属性。图像特征提取工作的结果给出某一具体的图像中与其他图像相区别的特征[1]。
4.2 彩色图像的轮廓提取
 边缘、轮廓特征是可以直观观测的特征之一,也是描述物体外形的形态特征。在图像处理技术中,许多场合都要求计算机进行图像描述,并按照特征对图像进行分析和理解。如在医学癌细胞识别中,要求能够从显微镜中得到有关癌细胞形状的描述等。而边缘检测技术是所有基于边界分割的图像分析方法的第一步。
 在MATLAB里可以用imcontour函数来轮廓提取实现这一过程,通过函数获得的结果如下图所示:
 图(4-1)图像的轮廓提取
 
 边缘的检测可以借助空域微分算子利用卷积来实现。常用的微分算子有梯度算子和拉普拉斯算子等,这些算子不但可以检测图像的而为边缘,还可以检测图像序列的三维边缘。用微分算子对图像进行边缘检测所得的边界常常会发生断裂现象。所以需要通过领域端点搜索、曲线拟合和Hough变换等方法将边缘连接起来。
 这里所用的边缘检测算子为canny算子,它检测边缘的方法是寻找图像梯度的局部极大值,梯度是用高斯滤波器的倒数计算的。Canny方法使用两个值来分别检测强边缘和弱边缘,而且仅当弱边缘与强边缘相连时,弱边缘才会包含在输出中,因此,此方法不容易受噪声的干扰,能够检测的真正的弱边缘。
 而连接方法选用Hough变换,它的主要优点是受噪声和曲线间断的影响小,利用Hough变换出来可以进行边界连接之外,还可以用来直接检测某些一直的形状的目标。Hough变换是利用图像的全局特征将边缘像素连接起来形成封闭边界的一种连接方法。利用点与直线的对偶性的特点,在图像空间中,所有过点(x,y)的直线都满足以下方程:
y=kx+b用极坐标表示式为:ρ=x cosθ+y sinθ其中,(ρ,θ)定义了一个从原点到直线上最近点的向量,该向量与直线垂直,极坐标变换就称做直线的Hough变换。由于x-y平面中的直线上的各个边缘点都满足参数的等式,所以x-y空间中所有的边缘对应的正弦曲线都相交于点(ρ0,θ0),可以建立一个位于参数空间中的直方图,对于每一个边缘点,给参数空间中的所有与之对应的正弦曲线的直方图方格一个增量。于是,当所有边缘点都经过这种处理后,包含(ρ0,θ0)的方格将具有局部最大值,通过对参数空间的直方图进行局部最大值搜索就可以获得边界直线的参数。