图像特征提取论文

图像特征提取论文
图像特征提取论文

基于C++的图像特征提取

摘要图像特征提取技术是20世纪50年代在国内外迅速发展起来的一种图像处理技术。本文首先论述了图像特征提取技术相关概念及分类,在此基础上阐述了图像特征提取的流程,并讨论了基于C++实现图像特征几种基本且重要的提取方式的算法实现。

关键字特征提取,灰度图,直方图,C++

目录

1 概述 (1)

1.1引言 (1)

1.2 图像特征 (2)

1.3 图像特征提取的相关定义 (2)

1.3.1图像颜色特征提取 (2)

1.3.2 纹理特征提取 (2)

1.3.3形状特征提取 (2)

1.3.4空间关系特征提取 (3)

2工作基础与工作环境 (4)

2.1 数字图像处理技术 (4)

2.1.1 图像处理的基本内容 (4)

2.2 图像格式-BMP格式 (5)

2.3将Visual C++应用于数字图像的特征提取 (6)

2.4 形参说明 (6)

3算法及数学基础 (7)

3.1二值图像 binary image (7)

3.1.1二值图像分析的目的 (7)

3.1.2二值图像生成算法 (7)

3.1.3二值图象C++实现 (8)

3.2基于二值图像的处理 (9)

3.2.1腐蚀与膨胀 (9)

3.2.3轮廓提取与轮廓追踪 (13)

3.2.4细线化 (14)

3.3灰度图 (17)

3.3.1基于灰度图的特征提取方法 (18)

3.3.2边缘检测 (20)

4 结束语 (24)

1 概述

图像是客观对象的一种相似性的、生动性的描述或写真,是人类社会活动中最常用的信息载体。或者说图像是客观对象的一种表示,它包含了被描述对象的有关信息。它是人们最主要的信息源。据统计,一个人获取的信息大约有75%来自视觉。古人说“百闻不如一见”、“一目了然”便是非常形象的例子,都反映了图像在信息传递中的独特效果[1]。

广义上,图像就是所有具有视觉效果的画面,它包括:纸介质上的、底片或照片上的、电视、投影仪或计算机屏幕上的。图像根据图像记录方式的不同可分为两大类:模拟图像和数字图像。模拟图像可以通过某种物理量(如光、电等)的强弱变化来记录图像亮度信息,例如模拟电视图像;而数字图像则是用计算机存储的数据来记录图像上各点的亮度信息[2]。

国际图像艺术推广机构君友会对图像处理流程的阐述是:图像处理是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。此外,基于光学理论的处理方法依然占有重要的地位。图像处理是信号处理的子类,另外与计算机科学、人工智能等领域也有密切的关系。传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。几十年前,图像处理大多数由光学设备在模拟模式下进行。由于这些光学方法本身所具有的并行特性,至今他们仍然在很多应用领域占有核心地位,例如全息摄影。但是由于计算机速度的大幅度提高,这些技术正在迅速的被数字图像处理方法所替代。从通常意义上讲,数字图像处理技术更加普适、可靠和准确。比起模拟方法,它们也更容易实现。专用的硬件被用于数字图像处理,例如,基于流水线的计算机体系结构在这方面取得了巨大的商业成功。今天,硬件解决方案被广泛的用于视频处理系统,但商业化的图像处理任务基本上仍以软件形式实现,运行在通用个人电脑上

1.1引言

图像特征选择提取是图像识别中的一个关键问题。特征选择和提取的基本任务是如何从众多特征中找出最有效的特征。图像特征分析在工业生产中有重要的

应用。我通过关注和学习图像特征提取并用VC实践,强化了所学习过的知识,并对图像特征提取有了更深一步的认识和理解。

1.2 图像特征

图像特征是指图像的原始特性或属性。

常见的图像特征可以分为灰度特征、纹理特征和几何形状特征等。

1.3 图像特征提取的相关定义

由于实际问题的应用类型各不相同,所以对图像特征提取一直没有精确的定义,许多的计算机图像分析和算法都是以特征为切点,其算法成功与否与其使用和定义的特征息息相关。参阅大量文献,其定义概述为:图象处理中最初级的运算就是特征提取,所以数字图像首先要进行的运算就是特征提取,然后通过运算来检查图像的每个像素,最后确定像素所属的特征.如果算法检查的是图像的一些特征区域,那么图像特征提取就是算法中的一部分作为特征提取的一个前提运算,其输入图像一般在尺度空间中被平滑,最后运用导数法则计算出图像的特征。

1.3.1图像颜色特征提取

颜色特征是通过图像或图像区域的颜色特征来描述,它具有整体性,颜色特征提取方法有颜色直方图、颜色集、颜色矩等方法。

1.3.2 纹理特征提取

纹理特征和颜色特征类似,它也是一种整体性的特征。近些年来,对纹理分析方法的各种理论或方法在纹理特征提取中的应用已经基本成形,纹理特征提取方法归纳为5类,即结构方法、信号处理方法、几何方法、模型方法和计方法。

灰度共生矩阵是被广泛应用的纹理提取算法,是分析图像的基础,它运用统计学中的概率来反映图像灰度有关方向和间隔等整体信息。

1.3.3形状特征提取

形状特征提取表示方法有2类,一类是区域特征,它主要针对图像的整个形状区域;另一类是轮廓特征,它针对的是物体的外边界。前人关于形状特征提取的典型方法有:边界特征值法(图像的外边界)、几何参数法(图像几何参数化处理)、形状不变矩法(找图像不变矩特征)、傅里叶形状描述法(傅里叶变换法)等。

1.3.4空间关系特征提取

空间关系表明图像中分割的多个目标之间存在着一定的空间位置关系和方向性的关系,如图像的邻接与连接关系、图像的包容和包含关系等。常用的图像空间特征提取方法有2种:根据图像中的对象或者颜色等其他特征对图像进行分割后提取特征;把图像分割成规则的子块,分别对图像的每个子块进行特征提取。运用空间关系特征描述图像内容能起到更完备的功效,但是一旦图像或目标发生反转、旋转等变化时,空间关系特征发生的变化就非常明显。当采用空间特征关系以提高检索准确率时,一般不单独使用,而是经常和其它特征提取方法综合使用。

2工作基础与工作环境

2.1 数字图像处理技术

将客观世界实体或图片等通过不同的量化(数字化)手段送入计算机,由计算机按使用要求进行图像的平滑、增强、复原、分割、重建、编码、存储、传输等种种不同的处理,需要时把加工处理后的图像重新输出,这个过程称为图像处理。因此,图像处理的含义是用计算机对图像进行加工处理以得到某种预期的效果,它本质上是一种二维数字信号处理技术。

2.1.1 图像处理的基本内容

图像处理的基本内容可以归结为:对图像进行增强或修改。以改变或强调图像信息的某些特点(增强有用信息,无用信息),改善图像的视觉质量;描述图像的特征并进行特征抽取和分析。例如提取图像的纹理特征、频谱特征、边界特征和颜色特征等;对像素用某个标准衡量并进行分类比较,将抽取的特征归结为一定的模式,这属于模式识别的范围;图像的重建(Reconstruction)。对图像的某些部分合并或进行重新组织,这种技术是从N—1维的信息用某种算法得到N维的图像,例如计算机视觉就是这样的一种技术。

2.1.2主要图像处理技术

1)图像的增强和恢复

图像增强所追求的目标是改善图像的视觉质量,符合人们的主观要求,它不追究图像客观质量的降低原因。图像的视觉质量是因人而异的,其质量的高低和好坏受观看者的心理、爱好和文化素质等因素的影响。图像的恢复则致力于探索图像质量降低的原因,并尽可能消除图像质量的降低,恢复图像的本来面目。2)图像的压缩编码

彩色数字图像通常是由三个二维数组组成的,其信息量相当大,这给图像的传输、处理、存储和显示等带来很大的负担。但问题的另一方面是图像中又往往存在很多冗余信息,在传输和存储时可以对数字图像进行一定方式的编码,删除图像中的冗余信息,以提高图像传输和存储的效率。

3)图像重建

在医学和工程应用中,利用超声波、x射线等技术取得物体的多幅来自不同角度的投影图,通过计算可得到物钵内部的图像,这种技术称为投影重建,例如CT就是图像重建的一个应用。

4)图像的分割和描述

计算机按照一定的客观测度(例如灰度、颜色和几何性质等)将图像中包含的物体和区域从图像中区分出来,称为图像的分割。用适当的数学语言来表示被分割出来的物体或区域的结构和统计特性,或用数学语言表示区域问的关系,称为描述。图像经分别和描述后,可较为容易地分类和识别。

2.2 图像格式-BMP格式

BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图像处理软件都支持BMP图像文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。Windows 3。0以前的BMP图文件格式与显示设备有关,因此把这种BMP图像文件格式称为设备相关位图DDB(device-dependent bitmap)文件格式。Windows 3。0以后的BMP图像文件与显示设备无关,因此把这种BMP图像文件格式称为设备无关位图DIB(device-independent bitmap)格式,目的是为了让Windows能够在任何类型的显示设备上显示所存储的图像。BMP 位图文件默认的文件扩展名是BMP或者bmp(有时它也会以。DIB或。RLE作扩展名)。

位图文件可看成由4个部分组成:位图文件头(bitmap-file header)、位图信息头(bitmap-information header)、彩色表(color table)和定义位图的字节阵列,它具有如表2-1所示的形式

表2-1 BMP文件组成

VC丰富的功能和大量的扩展库,类的重用特性以及它对函数库、DLL库的支持能使程序更好的模块化,并且通过向导程序大大简化了库资源的使用和应用程序的开发,正由于VC具有明显的优势,因而我选择了它来作为数字图像几何变换的开发工具。

在本程序的开发过程中,VC的核心知识、消息映射机制、对话框控件编程等都得到了生动的体现和灵活的应用。

2.4 形参说明

Image_in 原图像指针

Image_out 输出图像指针

Xsize 图像宽度

Ysize 图像高度

3算法及数学基础

3.1二值图像 binary image

是指每个像素不是黑就是白,其灰度值没有中间过渡的图像。二值图像一

般用来描述文字或者图形,其优点是占用空间少,缺点是,当表示人物,风景

的图像时,二值图像只能描述其轮廓,不能描述细节。这时候要用更高的灰度

级。

二值图像是每个像素只有两个可能值的数字图像。人们经常用黑白、B&W、

单色图像表示二值图像,但是也可以用来表示每个像素只有一个采样值的任何

图像,例如灰度图像等。

二值图像中所有的像素只能从0和1这两个值中取,因此在MATLAB中,

二值图像用一个由0和1组成的二维矩阵表示。这两个可取的值分别对应于关

闭和打开,关闭表征该像素处于背景,而打开表征该像素处于前景。以这种方

式来操作图像可以更容易识别出图像的结构特征。二值图像操作只返回与二值

图像的形式或结构有关的信息,如果希望对其他类型的图像进行同样的操作,

则首先要将其转换为二进制的图像格式

二值图像经常出现在数字图像处理中中作为图像掩码或者在图像分割、二

值化和dithering的结果中出现。一些输入输出设备,如激光打印机、传真机、

单色计算机显示器等都可以处理二值图像。

二值图像经常使用位图格式存储。

3.1.1二值图像分析的目的

首先是区分所提取出的不同的目标物,然后,对不同的目标物特征差异进行描述与计算,最后获得所需要的分析结果。

二值化处理流程:

3.1.2二值图像生成算法

1)读取图像像素数据

2)设定阈值

3)以阈值确定每个像素点的值为0或者1

通过阈值运算是否可以有效地进行图像分割,取决于物体和背景之间是否有足够的对比度.设一幅灰度图像],[j i F 中物体的灰度分布在区间],[21T T 内,经过阈值运算后的图像为二值图像],[j i F T ,即:

??

?≤≤=其它如果0],[ 1],[2

1T j i F T j i F T (3.1)

如果物体灰度值分布在几个不相邻区间内时,阈值化方案可表示为:

??

?∈=其它如果0],[ 1],[Z

j i F j i F T

(3.2)

其中Z 是组成物体各部分灰度值的集合

阈值(如图3-1)算法与应用领域密切相关.事实上,某一阈值运算常常是为某一应用专门设计的,在其它应用领域可能无法工作.阈值选择(如图1)常常是基于在某一应用领域获取的先验知识,因此在某些场合下,前几轮运算通常采用交互式方式来分析图像,以便确定合适的阈值.但是,在机器视觉系统中,由于视觉系统的自主性能(autonomy )要求,必须进行自动阈值选择.现在已经研究出许多利用图像灰度分布和有关的物体知识来自动选择适当阈值的技术.

图3-1 一幅灰度图像和使用不同阈值得到的二值图像结果.上左:原始灰度图像,上右:

阈值T=100;左下:T=128.右下:T1=100|T2=128.

3.1.3二值图象C++实现:

void Threshold(BYTE *image_in,BYTE *image_out,int xsize,int ysize,int thresh,int

mode) {

int i,j;

for (j=0;j

{

switch(mode)

{case 2:

if(*(image_in+j*xsize+i)<=thresh)

*(image_out+j*xsize+i)=HIGH;

else

*(image_out+j*xsize+i)=LOW;

break;

default:

if(*(image_in+j*xsize+i)>=thresh)

*(image_out+j*xsize+i)=HIGH;

else

*(image_out+j*xsize+i)=LOW;

break; }

运行结果如图3-2:

图3-2:原图及C++二值化处理后图像

3.2基于二值图像的处理

这里主要介绍去除噪声,主要有腐蚀与膨胀,轮廓检测,细线化等。

3.2.1腐蚀与膨胀

二值图像中的一种主要处理是对所提取的目标图形进行形态分析。而形态处理中最基本的是腐蚀与膨胀。腐蚀与膨胀是两个互为对偶的运算。腐蚀处理的作用是将目标图形收缩,而膨胀处理的作用是将目标图形扩大。

为了实现腐蚀与膨胀,数学形态学提出了结构元素的概念。所谓结构元素是指具有某种确定形状的基本结构元素,例如,一定大小的矩形、圆或者菱形等。腐蚀与膨胀属非线性逻辑模板,非线性逻辑模板不能用简洁的数学形式表达。它实际上是对邻域内的像素分布模式进行分类后,根据不同的模式而给出

不同处理。下面给出的各种算法都是针对二值图像的。处理中均使用一定尺寸的模板(结构元素--SE ),并假定图中背景像素灰度值为0,景物像素值为1。

腐蚀是一种消除连通域的边界点,使边界向内收缩的处理。可以用来消除小且无意义的目标物。如果两目标物间有细小的连接,可以选取足够大的结构元素,将细小连接腐蚀掉。腐蚀处理可以表示成用结构元素对图像进行探测,找出图像中可以放下该结构元素的区域(如图3-3)。 例:

腐蚀 —— 算法步骤

(1)扫描原图,找到第一个像素值为1的目标点;

(2)将预先设定好形状以及原点位置的结构元素的原点移到该点; (3)判断该结构元素所覆盖的像素值是否全部为1: 如果是,则腐蚀后图像中的相同位置上的像素值为1; 如果不是,则腐蚀后图像中的相同位置上的像素值为0; (4)重复(2)和(3),直到所有原图中像素处理完成。 1)腐蚀C++算法实现:

void Erodible(BYTE *image_in,BYTE *image_out,int xsize,int ysize) {

int i,j;

for (j=1;j

*(image_out+j*xsize+i)=*(image_in+j*xsize+i); if(*(image_in+(j-1)*xsize+i-1)==LOW)

*(image_out+j*xsize+i)=LOW;

图3-3 腐蚀处理

if(*(image_in+(j-1)*xsize+i)==LOW)

*(image_out+j*xsize+i)=LOW;

if(*(image_in+(j-1)*xsize+i-1)==LOW)

*(image_out+j*xsize+i)=LOW;

if(*(image_in+j*xsize+i+1)==LOW)

*(image_out+j*xsize+i)=LOW;

if(*(image_in+j*xsize+i)==LOW)

*(image_out+j*xsize+i)=LOW;

if(*(image_in+j*xsize+i-1)==LOW)

*(image_out+j*xsize+i)=LOW;

if(*(image_in+(j+1)*xsize+i+1)==LOW)

*(image_out+j*xsize+i)=LOW;

if(*(image_in+(j+1)*xsize+i)==LOW)

*(image_out+j+1*xsize+i)=LOW;

if(*(image_in+(j+1)*xsize+i-1)==LOW)

*(image_out+j*xsize+i)=LOW;

}

}

}

运行结果如图3-4:

图3-4 二值图像及腐蚀后的图像效果

膨胀

膨胀是将与目标区域的背景点合并到该目标物中,使目标物边界向外部扩张的处理。膨胀可以用来填补目标区域中存在的某些空洞,以及清除包含在目标区域中的小颗粒噪声。膨胀处理可以理解成是对图像的补集进行腐蚀处理(如图3-5)。

例:

膨胀 —— 算法步骤

(1)扫描原图,找到第一个像素值为0的背景点;

(2)将预先设定好形状以及原点位置的结构元素的原点移到该点; (3)判断该结构元素所覆盖的像素值是否存在为1的目标点: 如果是,则膨胀后图像中的相同位置上的像素值为1; 如果不是,则膨胀后图像中的相同位置上的像素值为0; (4) 重复(2)和(3),直到所有原图中像素处理完成。 2)膨胀C++算法实现:

void Dilation(BYTE *image_in,BYTE *image_out,int xsize,int ysize) {

int i,j;

for (j=1;j

*(image_out+j*xsize+i)=*(image_in+j*xsize+i); if(*(image_in+(j-1)*xsize+i-1)==HIGH) *(image_out+j*xsize+i)=HIGH; if(*(image_in+(j-1)*xsize+i)==HIGH) *(image_out+j*xsize+i)=HIGH;

if(*(image_in+(j-1)*xsize+i-1)==HIGH) *(image_out+j*xsize+i)=HIGH; if(*(image_in+j*xsize+i+1)==HIGH) *(image_out+j*xsize+i)=HIGH; if(*(image_in+j*xsize+i)==HIGH) *(image_out+j*xsize+i)=HIGH; if(*(image_in+j*xsize+i-1)==HIGH) *(image_out+j*xsize+i)=HIGH;

if(*(image_in+(j+1)*xsize+i+1)==HIGH) *(image_out+j*xsize+i)=HIGH;

图3-5 膨胀处理

if(*(image_in+(j+1)*xsize+i)==HIGH)

*(image_out+j+1*xsize+i)=HIGH;

if(*(image_in+(j+1)*xsize+i-1)==HIGH)

*(image_out+j*xsize+i)=HIGH;

}

}

}

运行结果如图3-6:

图3-6:二值图象及膨胀处理后的结果

3.2.3轮廓提取与轮廓追踪

用下述算法可以很简单地抽取二值图像的轮廓线。

(1) 若中心像素值为0,不问其余8像素的值如何,一律保留中心像素值为0;

(2) 若中心像素值为1,且其余8个像素全为1,则改变中心像素值为0;

(3) 除此以外,全部将中心像素值设为1。如图3-7

轮廓跟踪

图3-7 轮廓提取

轮廓跟踪,顾名思义就是通过顺序找出边缘点来跟踪出边界。

简单二值图像闭合边界的轮廓跟踪算法很简单:首先按从上到下,从左到右的顺序搜索,找到的第一个非前景点一定是最左上方的边界点,记为A。它的右,右下,下,左下四个邻点中至少有一个是边界点,记为B。从开始B找起,按右,右上,上,左上,左,左下,下,右下的顺序找相邻点中的边界点C。如果C就是A点,则表明已经转了一圈,程序结束。否则从C点继续找,直到找到A为止。

判断是不是边界点很容易:如果它的上下左右四个邻居都是前景点则不是边界点,否则是边界点。

3.2.4细线化

细化(thinning)是一种图像处理运算,可以把二值图像区域缩成线条,以逼近区域的中心线,也称之为骨架或核线.细化的目的是减少图像成份,直到只留下区域的最基本信息,以便进一步分析和识别.虽然细化可以用在包含任何区域形状的二值图像,但它主要对细长形(而不是凸圆形或水滴状)区域有效.细化一般用于文本分析预处理阶段,以便将文本图像中线条图画或字符笔画表示成单像素线条.细化要求如下[2]:

(1)连通图像区域必须细化成连通线结构.

(2)细化结果最少应该是8-连通(下面将要解释).

(3)保留近似终止线的位置.

(4)细化结果应该近似于中轴线.

(5)由细化引起的附加突刺(短分支)应该是最小的.

细化结果应该保证第一条要求中所定义的连通性,这一点是最基本的要求,它保证了连通线结构的数量等于原始图像中连通区域的数量.第二条要求保证所

得到的线条总是含有8-连通图像的最小数量.第三条要求说明终止线位置应该保持不变.细化可以通过迭代方式不断去除边界点来实现,重要的是在迭代过程中不要去除端点像素,因为这样不仅会缩短细化线,丢掉结构信息,而且不能保持其位置不变.第四条要求说明所得线段应能最好地逼近原始区域的中线,如两个像素点宽的竖线或水平线的真正中线应该位于这两个像素之间半个像素间距的位置.在数字图像中表示半个像素间距是不可能的,因此得到的结果是一条位于原直线一侧的直线.第五条要求没有明确指出噪声的影响控制到最低程度,因为判断噪声本身是一件很难的事.一般不希望原始区域含有会引起突刺的隆起,但当某些较大隆起是区域特征时,却必须识别它们.应该指出,某些细化算法有去除突刺的参数,不过最好将细化和去除噪声分开进行,这是由于某些情况下不需要的突刺,可能是另一些情况下所需要的短线.因此,最好的办法是先进行细化,然后单独去除长度低于某一特定最小值的任何突刺.

3?邻域内检查图像的每一点,剥去区域边一种常用的细化手段是在至少3

界.一次剥去一层图像,直至区域被细化成一条线.这一过程是用迭代法实现

?窗函数检查,为了保持连通性或线末的.在每次迭代时,每一个像素点用n n

端位置,将单像素厚的边界擦除,在每次迭代中,值为1的外层区域就是用这种方式削掉的.当迭代结果没有变化时,迭代过程结束,图像得到细化(如图3-8)。

细线化算法

先做出一张表,相邻点共8个,共有256种情况。表共有256个元素,每个元素对应的情况要么是0(保留),要么是1(删除)。根据前景点的八个相邻点的情况查表,若表中元素是1,则表示该点可删,否则保留。

1) 细线化C++算法实现

void Thinning(BYTE *image_in, BYTE *image_out, int xsize, int ysize)

{

int ia[9], ic[9], i, ix, m, ir, iv, iw;

for (ix = 0; iy < ysize; iy++)

for (ix = 0; ix < xsize; ix++)

*(image_out + iy*xsize + ix) = *(image_in + iy*xsize +ix);

m = 100;

ir = 1 ;

while (ir != 0) {

ir = 0;

for (iy = 1; iy < ysize-1; iy++)

for (ix = 1; ix < xsize-1; ix++){

if (*(image_out + iy*xsize + ix) != HIGH) continue;

ia[0] = *(image_out +iy*xsize + ix+1);

ia[1] = *(image_out +(iy-1)*xsize + ix+1);

ia[2] = *(image_out +(iy-1)*xsize + ix);

ia[3] = *(image_out +(iy-1)*xsize + ix-1);

ia[4] = *(image_out +iy*xsize + ix-1);

ia[5] = *(image_out +(iy+1)*xsize + ix-1);

ia[6] = *(image_out +(iy+1)*xsize + ix);

ia[7] = *(image_out +(iy+1)*xsize + ix+1);

for (i = 0; i < 0; i++) {

if (ia[i] == m) {

ia[i] = HIGH;

ic[i] = 0;

}

else {

if (ia[i] < HIGH) ia[i] = 0;

ic[i] = ia[i];

}

}

ia[8] = ia[0];

ic[8] = ic[0];

if (ia[0]+ia[2]+ia[4]+ia[6] == HIGH*4) continue;

for (i = 0, iv = 0, iw = 0, i < 8; i++) {

if (ia[i] == HIGH) iv++;

if (ia[i] == HIGH) iw++;

}

if (iv <= 1) continue;

if (iw <= 0) continue;

if (cconc(ia) !=1) continue;

if ( *image_out + (iy-1)*xsize + ix) ==m) {

ia[2] = 0;

if (cconc(ia) != 1) continue;

ia[2] = HIGH;

}

if (*image_out + iy*xsize + ix-1) == m) {

ia[4] = 0;

if (cconc(ia) != 1) continue;

ia[4] = HIGH;

}

*image_out + iy*xsize + ix) = m;

ir++;

}

m++;

}

for (iy = 0; iy < ysize; iy++)

for (ix = 0; ix < xsize; ix++)

if (*image -out+iy*xsize+ix) < HIGH)*(image_out+iy*xsize+ix)=0; }

int cconc(int inb[9])

{

int i, icn;

icn = 0;

for (i = 0;i < 8; i +=2)

if (inb[i] == 0)

if (inb[i+1] == HIGH || inb[i+2] == HIGH)

icn++;

return icn;

}

例:

图3-8细线化

3.3灰度图

灰度图(Grayscale)是指只含亮度信息,不含色彩信息的图像。因此,要表示灰度图,就需要把亮度值进行量化。通常划分为0到255共256个级别,0最暗(全黑),255最亮(全白)。

BMP格式的文件中并没有灰度图这个概念,但是可以很容易的用BMP文件来表示灰度图。方法是用256色的调色板,只不过这个调色板有点特殊,每一项的RGB值都是相同的。也就是说RGB值从(0,0,0),(1,1,1)一直到(255,255,255)。(0,0,0)是全黑色,(255,255,255)是全白色,中间的是灰色。对于R=G=B的色彩,带入YIQ或YUV色彩系统转换公式中可以看到其颜色分量都是0,即没有色彩信息。

灰度图使用比较方便。首先RGB的值都一样;其次。图像数据即颜色表索引值,也就是实际的RGB的亮度值;另外因为是256色的调色板,所以图像数据中一个字节代表一个像素。如果是彩色的256色图,图像处理后有可能会产生不属于这256种颜色的新颜色,所以,图像处理一般采用灰度图。

关于图像特征提取

关于图像特征提取 特征提取是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。 特征的定义 至今为止特征没有万能和精确的定义。特征的精确定义往往由问题或者应用类型决定。特征是一个数字图像中“有趣”的部分,它是许多计算机图像分析算法的起点。因此一个算法是否成功往往由它使用和定义的特征决定。因此特征提取最重要的一个特性是“可重复性”:同一场景的不同图像所提取的特征应该是相同的。 特征提取是图象处理中的一个初级运算,也就是说它是对一个图像进行的第一个运算处理。它检查每个像素来确定该像素是否代表一个特征。假如它是一个更大的算法的一部分,那么这个算法一般只检查图像的特征区域。作为特征提取的一个前提运算,输入图像一般通过高斯模糊核在尺度空间中被平滑。此后通过局部导数运算来计算图像的一个或多个特征。 有时,假如特征提取需要许多的计算时间,而可以使用的时间有限制,一个高层次算法可以用来控制特征提取阶层,这样仅图像的部分被用来寻找特征。 由于许多计算机图像算法使用特征提取作为其初级计算步骤,因此有大量特征提取算法被发展,其提取的特征各种各样,它们的计算复杂性和可重复性也非常不同。 边缘 边缘是组成两个图像区域之间边界(或边缘)的像素。一般一个边缘的形状可以是任意的,还可能包括交叉点。在实践中边缘一般被定义为图像中拥有大的梯度的点组成的子集。一些常用的算法还会把梯度高的点联系起来来构成一个更完善的边缘的描写。这些算法也可能对边缘提出一些限制。 局部地看边缘是一维结构。 角 角是图像中点似的特征,在局部它有两维结构。早期的算法首先进行边缘检测,然后分析边缘的走向来寻找边缘突然转向(角)。后来发展的算法不再需要边缘检测这个步骤,而是可以直接在图像梯度中寻找高度曲率。后来发现这样有时可以在图像中本来没有角的地方发现具有同角一样的特征的区域。 区域 与角不同的是区域描写一个图像中的一个区域性的结构,但是区域也可能仅由一个像素组成,因此许多区域检测也可以用来监测角。一个区域监测器检测图像中一个对于角监测器来说太平滑的区域。区域检测可以被想象为把一张图像缩小,然后在缩小的图像上进行角检测。 脊 长条形的物体被称为脊。在实践中脊可以被看作是代表对称轴的一维曲线,此外局部针对于每个脊像素有一个脊宽度。从灰梯度图像中提取脊要比提取边缘、角和区域困难。在空中摄影中往往使用脊检测来分辨道路,在医学图像中它被用来分辨血管。 特征抽取 特征被检测后它可以从图像中被抽取出来。这个过程可能需要许多图像处理的计算机。其结果被称为特征描述或者特征向量。 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。 一颜色特征 (一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。另外,仅使用颜色特

图像颜色特征提取原理

一、颜色特征 1 颜色空间 1.1 RGB 颜色空间 是一种根据人眼对不同波长的红、绿、蓝光做出锥状体细胞的敏感度描述的基础彩色模式,R、 G、B 分别为图像红、绿、蓝的亮度值,大小限定在 0~1 或者在 0~255。 1.2 HIS 颜色空间 是指颜色的色调、亮度和饱和度,H表示色调,描述颜色的属性,如黄、红、绿,用角度 0~360度来表示;S 是饱和度,即纯色程度的量度,反映彩色的浓淡,如深红、浅红,大小限定在 0~1;I 是亮度,反映可见光对人眼刺激的程度,它表征彩色各波长的总能量,大小限定在 0~1。 1.3 HSV 颜色模型 HSV 颜色模型依据人类对于色泽、明暗和色调的直观感觉来定义颜色, 其中H (Hue)代表色度, S (Saturat i on)代表色饱和度,V (V alue)代表亮度, 该颜色系统比RGB 系统更接近于人们的经验和对彩色的感知, 因而被广泛应用于计算机视觉领域。 已知RGB 颜色模型, 令M A X = max {R , G, B },M IN =m in{R , G,B }, 分别为RGB 颜色模型中R、 G、 B 三分量的最大和最小值, RGB 颜色模型到HSV 颜色模型的转换公式为: S =(M A X - M IN)/M A X H = 60*(G- B)/(M A X - M IN) R = M A X 120+ 60*(B – R)/(M A X - M IN) G= M A X 240+ 60*(R – G)/(M A X - M IN) B = M A X V = M A X 2 颜色特征提取算法 2.1 一般直方图法 颜色直方图是最基本的颜色特征表示方法,它反映的是图像中颜色的组成分布,即出现了哪些颜色以及各种颜色出现的概率。其函数表达式如下: H(k)= n k/N (k=0,1,…,L-1) (1) 其中,k 代表图像的特征取值,L 是特征可取值的个数,n k是图像中具有特征值为 k 的象素的个数,N 是图像象素的总数。由上式可见,颜色直方图所描述的是不同色彩在整幅图像中所占的比例,无法描述图像中的对象或物体,但是由于直方图相对于图像以观察轴为轴心的旋转以及幅度不大的平移和缩放等几何变换是不敏感的,而且对于图像质量的变化也不甚敏感,所以它特别适合描述那些难以进行自动分割的图像和不需要考虑物体空间位置的图像。 由于计算机本身固有的量化缺陷,这种直方图法忽略了颜色的相似性,人们对这种算法进行改进,产生了全局累加直方图法和局部累加直方图法。 2.2 全局累加直方图法 全局累加直方图是以颜色值作为横坐标,纵坐标为颜色累加出现的频数,因此图像的累加直方空间 H 定义为:

图象视觉特征的提取与表示

第1章图像视觉特征的提取和表示 1.1引言 图像视觉特征的提取和表示是将图像的视觉信息转化成计算机能够识别和处理的定量形式的过程,是基于视觉内容的图像分类与检索的关键技术,因此,图像视觉特征的提取和表示一直是图像内容分析领域中一个非常活跃的课题。 图像底层视觉特征一定程度上能够反映图像的内容,可以描述图像所表达的意义,因此,研究图像底层视觉特征是实现图像分类与检索的第一步。一般来说,随着具体应用的不同,选用的底层特征也应有所不同,在特定的具体应用中,不同底层视觉特征的选取及不同的描述方式,对图像分类与检索的性能有很大的影响。通常认为,一种良好的图像视觉特征的提取和表示应满足以下几个要求: (1)提取简单,时间和空间复杂度低。 (2)区分能力强,对图像视觉内容相似的图像其特征描述之间也应相近,反之,对于视觉内容不相似的图像其特征描述之间应有一定的差别。 (3)与人的视觉感知相近,对人的视觉感觉相近的图像其特征描述之间也相近,对人的视觉感知有差别的图像其特征描述之间也有一定的差别。 (4)抗干扰能力强,鲁棒性好,对图像大小,方向不敏感,具有几何平移,旋转不变性。 本章重点讨论当前比较成熟的特征提取方法,在此基础上选取合适的特征提取方法,用于图像分类与检索系统的特征提取模块。接下来,将依次介绍颜色,纹理,形状等特征的提取和表示方法,最后对各种特征的特点加以比较。 1.2颜色特征的提取和表示 颜色是图像视觉信息的一个重要特征,是图像分类与检索中最为广泛应用的特征之一。一般来说同一类别的图像之间颜色信息具有一定的相似性,不同类别的图像,其颜色信息具有一定的差异。相对几何特征而言,颜色特征稳定性好,有对大小、方向不敏感等特点。因此,颜色特征的提取受到极大重视并得到深入研究。本章首先介绍几种常用的颜色空间模型,然后介绍各种颜色特征提取和表示方法。 1.2.1颜色空间模型 为了正确地使用颜色这一特征,需要建立颜色空间模型,通常的颜色空间模型可用三个基本量来描述,所以建立颜色空间模型就是建立一个3-D坐标系,其中每个空间点都代表某一种颜色。通常来说,对于不同的应用,应该选取不同的颜色空间模型。常用的颜色空间模型主要有:RGB、HIS、HSV、YUV、YIQ、Munsell、Lu*v*和La*b*等。颜色空间模型的选取需要符合一定的标准,下面就这一标准和最常用的颜色空间模型作一些介绍。 文献[错误!未找到引用源。]中介绍了选择颜色空间模型的标准主要有以下几个: (1)观察角度的鲁棒性

图像特征提取总结

图像常见特征提取方法简介 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。 一、颜色特征 (一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。另外,仅使用颜色特征查询时,如果数据库很大,常会将许多不需要的图像也检索出来。颜色直方图是最常用的表达颜色特征的方法,其优点是不受图像旋转和平移变化的影响,进一步借助归一化还可不受图像尺度变化的影响,基缺点是没有表达出颜色空间分布的信息。 (二)常用的特征提取与匹配方法 (1)颜色直方图 其优点在于:它能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。其缺点在于:它无法描述图像中颜色的局部分布及每种色彩所处的空间位置,即无法描述图像中的某一具体的对象或物体。 最常用的颜色空间:RGB颜色空间、HSV颜色空间。 颜色直方图特征匹配方法:直方图相交法、距离法、中心距法、参考颜色表法、累加颜色直方图法。 (2)颜色集 颜色直方图法是一种全局颜色特征提取与匹配方法,无法区分局部颜色信息。颜色集是对颜色直方图的一种近似首先将图像从RGB颜色空间转化成视觉均衡的颜色空间(如HSV 空间),并将颜色空间量化成若干个柄。然后,用色彩自动分割技术将图像分为若干区域,每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达为一个二进制的颜色索引集。在图像匹配中,比较不同图像颜色集之间的距离和色彩区域的空间关系 (3)颜色矩 这种方法的数学基础在于:图像中任何的颜色分布均可以用它的矩来表示。此外,由于颜色分布信息主要集中在低阶矩中,因此,仅采用颜色的一阶矩(mean)、二阶矩(variance)和三阶矩(skewness)就足以表达图像的颜色分布。 (4)颜色聚合向量 其核心思想是:将属于直方图每一个柄的像素分成两部分,如果该柄内的某些像素所占据的连续区域的面积大于给定的阈值,则该区域内的像素作为聚合像素,否则作为非聚合像素。(5)颜色相关图 二纹理特征 (一)特点:纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力。但是,纹理特征也有其缺点,一个很明显的缺点是当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差。另外,由于有可能受到光照、反射情况的影响,从2-D图像中反映出来的纹理不一定是3-D物体表面真实

图像特征提取综述

图像特征提取的定位是计算机视觉和图像处理里的一个概念,表征图像的特性。输入是一张图像(二维的数据矩阵),输出是一个值、一个向量、一个分布、一个函数或者是信号。提取特征的方法千差万别,下面是图像特征的一些特性: 边缘 边缘是两个区域边界的像素集合,本质上是图像像素的子集,能将区域分开。边缘形状是任意的,实践中定义为大的梯度的像素点的集合,同时为了平滑,还需要一些算法进行处理。角 顾名思义,有个突然较大的弧度。早起算法是在边缘检测的基础上,分析边缘的走向,如果突然转向则被认为是角。后来的算法不再需要边缘检测,直接计算图像梯度的高度曲率(合情合理)。但会出现没有角的地方也检测到角的存在。 区域 区域性的结构,很多区域检测用来检测角。区域检测可以看作是图像缩小后的角检测。 脊 长形的物体,例如道路、血管。脊可以看成是代表对称轴的一维曲线,每个脊像素都有脊宽度,从灰梯度图像中提取要比边缘、角和区域都难。 特征提取 检测到特征后提取出来,表示成特征描述或者特征向量。 常用的图像特征:颜色特征、 纹理特征 形状特征 空间关系特征。 1.颜色特征 1.1特点:颜色特征是全局特征,对区域的方向、大小不敏感,但是不能很好捕捉局部特征。 优点:不受旋转和平移变化的影响,如果归一化不受尺度变化的影响。 缺点:不能表达颜色空间分布的信息。 1.2特征提取与匹配方法 (1)颜色直方图 适用于难以自动分割的图像,最常用的颜色空间:RGB和HSV。 匹配方法:直方图相交法(相交即交集)、距离法、中心距法、参考颜色表法、累加颜色直方图法。 对颜色特征的表达方式有许多种,我们采用直方图进行特征描述。常见的直方图有两种:统计直方图,累积直方图。我们将分别实验两种直方图在图像聚类和检索中的性能。 统计直方图 为利用图像的特征描述图像,可借助特征的统计直方图。图像特征的统计直方图实际是一个1-D的离散函数,即: 上式中k代表图像的特征取值,L是特征可取值个数,是图像中具有特征值为k的像素的个数,N是图像像素的总数,一个示例如下图:其中有8个直方条,对应图像中的8种灰度像素在总像素中的比例。

图像特征提取方法

图像特征提取方法 摘要 特征提取是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。 至今为止特征没有万能和精确的图像特征定义。特征的精确定义往往由问题或者应用类型决定。特征是一个数字图像中“有趣”的部分,它是许多计算机图像分析算法的起点。因此一个算法是否成功往往由它使用和定义的特征决定。因此特征提取最重要的一个特性是“可重复性”:同一场景的不同图像所提取的特征应该是相同的。 特征提取是图象处理中的一个初级运算,也就是说它是对一个图像进行的第一个运算处理。它检查每个像素来确定该像素是否代表一个特征。假如它是一个更大的算法的一部分,那么这个算法一般只检查图像的特征区域。作为特征提取的一个前提运算,输入图像一般通过高斯模糊核在尺度空间中被平滑。此后通过局部导数运算来计算图像的一个或多个特征。 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。当光差图像时,常 常看到的是连续的纹理与灰度级相似的区域,他们相结合形成物体。但如果物体的尺寸很小 或者对比度不高,通常要采用较高的分辨率观察:如果物体的尺寸很大或对比度很强,只需 要降低分辨率。如果物体尺寸有大有小,或对比有强有弱的情况下同事存在,这时提取图像 的特征对进行图像研究有优势。 常用的特征提取方法有:Fourier变换法、窗口Fourier变换(Gabor)、小波变换法、最 小二乘法、边界方向直方图法、基于Tamura纹理特征的纹理特征提取等。

设计内容 课程设计的内容与要求(包括原始数据、技术参数、条件、设计要求等):一、课程设计的内容 本设计采用边界方向直方图法、基于PCA的图像数据特征提取、基于Tamura纹理特征的纹理特征提取、颜色直方图提取颜色特征等等四种方法设计。 (1)边界方向直方图法 由于单一特征不足以准确地描述图像特征,提出了一种结合颜色特征和边界方向特征的图像检索方法.针对传统颜色直方图中图像对所有像素具有相同重要性的问题进行了改进,提出了像素加权的改进颜色直方图方法;然后采用非分割图像的边界方向直方图方法提取图像的形状特征,该方法相对分割方法具有简单、有效等特点,并对图像的缩放、旋转以及视角具有不变性.为进一步提高图像检索的质量引入相关反馈机制,动态调整两幅图像相似度中颜色特征和方向特征的权值系数,并给出了相应的权值调整算法.实验结果表明,上述方法明显地优于其它方法.小波理论和几个其他课题相关。所有小波变换可以视为时域频域的形式,所以和调和分析相关。所有实际有用的离散小波变换使用包含有限脉冲响应滤波器的滤波器段(filterbank)。构成CWT的小波受海森堡的测不准原理制约,或者说,离散小波基可以在测不准原理的其他形式的上下文中考虑。 通过边缘检测,把图像分为边缘区域和非边缘区域,然后在边缘区域内进行边缘定位.根据局部区域内边缘的直线特性,求得小邻域内直线段的高精度位置;再根据边缘区域内边缘的全局直线特性,用线段的中点来拟合整个直线边缘,得到亚像素精度的图像边缘.在拟合的过程中,根据直线段转角的变化剔除了噪声点,提高了定位精度.并且,根据角度和距离区分出不同直线和它们的交点,给出了图像精确的矢量化结果 图像的边界是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合,边界广泛的存在于物体和背 景之间、物体和物体之间,它是图像分割所依赖的重要特征.边界方向直方图具有尺度不变性,能够比较好的 描述图像的大体形状.边界直方图一般是通过边界算子提取边界,得到边界信息后,需要表征这些图像的边 界,对于每一个边界点,根据图像中该点的梯度方向计算出该边界点处法向量的方向角,将空间量化为M级, 计算每个边界点处法向量的方向角落在M级中的频率,这样便得到了边界方向直方图. 图像中像素的梯度向量可以表示为[ ( ,),),( ,),)] ,其中Gx( ,),),G ( ,),)可以用下面的

图像中角点(特征点)提取与匹配算法

角点提取与匹配算法实验报告 1 说明 本文实验的目标是对于两幅相似的图像,通过角点检测算法,进而找出这两幅图像的共同点,从而可以把这两幅图像合并成一幅图像。 下面描述该实验的基本步骤: 1.本文所采用的角点检测算法是Harris 角点检测算法,该算法的基本原理是取以目标像素点为中心的一个小窗口,计算窗口沿任何方向移动后的灰度变化,并用解析形式表达。设以像素点(x,y)为中心的小窗口在X 方向上移动u ,y 方向上移动v ,Harris 给出了灰度变化度量的解析表达式: 2 ,,|,|,,()(x y x y x u y v x y x y I I E w I I w u v o X Y ??= -=++??∑∑ (1) 其中,,x y E 为窗口内的灰度变化度量;,x y w 为窗口函数,一般定义为2 2 2 ()/,x y x y w e σ +=; I 为图像灰度函数,略去无穷小项有: 222222 ,,[()()2]2x y x y x y x y E w u I v I uvI I Au Cuv Bv = ++=++∑ (2) 将,x y E 化为二次型有: ,[]x y u E u v M v ?? =???? (3) M 为实对称矩阵: 2 ,2 x y x x y x y y I I I M w I I I ???= ???????∑ (4) 通过对角化处理得到: 11 ,200x y E R R λλ-??= ??? (5) 其中,R 为旋转因子,对角化处理后并不改变以u,v 为坐标参数的空间曲面的形状,其特征值反应了两个主轴方向的图像表面曲率。当两个特征值均较小时,表明目标点附近区域为“平坦区域”;特征值一大一小时,表明特征点位于“边缘”上;只有当两个特征值均比较大时,沿任何方向的移动均将导致灰度的剧烈变化。Harris 的角点响应函数(CRF)表达式由此而得到: 2 (,)det()(())C RF x y M k trace M =- (6)

图像特征提取及识别过程

纹理特征是一种重要的视觉线索,是图像中普遍存在而又难以描述的特征。纹理分类与分割是图像处理领域一个经久不衰的热点研究领域,纹理特征提取作为纹理分类与分割的首要问题,一直是人们关注的焦点,各种纹理特征提取方法层出不穷。 本文在广泛文献调研的基础上,回顾了纹理特征提取方法的发展历程,分析了其研究现状,对纹理特征提取方法进行了较为全面的综述和分类,最后重点研究了基于灰度共生矩阵的图像纹理提取方法,研究如何有效地提取图像纹理特征来对图像进行描述,通过特征值来对图像进行识别。 灰度共生矩阵是一种简单有效的图像纹理特征描述方法,该方法的优势在于:它能利用了图像中像素相对位置的空间信息更加准确地描述图像的纹理,本 文就是利用图像灰度共生矩阵的这一特性,从该矩阵中提取相应的统计参量作为纹理特征来实现对图像的识别。 关键字:灰度共生矩阵,纹理特征提取,图像识别

ABSTRACT Texture is a kind of importa nt visual clues in images , it is widespread but cannot easy to be described . Texture classification and segmentation is a enduring popular research field in image process ing area. Texture feature extract ion has bee n the focus of attention,due to its priority to texture classification and image segmentation. all sorts of texture feature extracti on methods has bee n emerged in en dlessly. On the basis of exte nsive literature inv estigati on, we review the texture feature extract ion methods, an alyze the developme nt of the research status of the texture feature extracti on methods and make a comprehe nsive review of its classificati on . Fin ally ,based on gray symbiotic matrix image problem extracti on methods,we research how to effectively extract image texture feature described by the image characteristic value to image recog niti on. Graylevel co-occurre nee matrix is a simple and effective image texture descripti on method.This method's advantage is: it can use the image pixels relative positions of the spatial in formatio n more to accurately describe the texture image.This paper use the graylevel co-occurre nee matrix of the properties to extract statistics from the matrix corresp onding as texture feature parameters to realize image recog niti on. KEY WORDS : graylevel co-occurrenee matrix, texture feature extraction, image recog niti on

图像特征提取matlab程序

%直接帧间差分,计算阈值并进行二值化处理(效果不好) clc; clear; Im1 = double(imread('lena.TIF')); %读取背景图片 Im2 = double(imread('lena.TIF'); %读取当前图片 [X Y Z] = size(Im2); %当前图片的各维度值 DIma = zeros(X,Y); for i = 1:X for j = 1:Y DIma(i,j) =Im1(i,j) - Im2(i,j); %计算过帧间差分值 end end figure,imshow(uint8(DIma)) %显示差分图像 title('DIma') med = median(DIma); %计算二值化阈值:差值图像中值 mad = abs(mean(DIma) - med); %中值绝对差 T = mean(med + 3*1.4826*mad) %初始阈值 Th =5*T; %调整阈值 BW = DIma <= Th; %根据阈值对图像进行二值化处理 figure,imshow(BW) %se = strel('disk',2); %膨胀处理 %BW = imopen(BW,se); %figure,imshow(BW) %title('BW') [XX YY] = find(BW==0); %寻找有效像素点的最大边框 handle = rectangle('Position',[min(YY),min(XX) ,max(YY)-min(YY),max(XX)-min(XX)]); set(handle,'EdgeColor',[0 0 0]); hei = max(XX)-min(XX); %边框高度 mark = min(YY)+1; while mark < max(YY)-1 %从边框左边开始到右边物质循环,寻找各个人体边缘 left = 0;right = 0; for j = mark:max(YY)-1 ynum = 0; for i = min(XX)+1 : max(XX)-1 if BW(i,j) == 0; ynum = ynum + 1;

图像纹理检测与特征提取技术研究综述

龙源期刊网 https://www.360docs.net/doc/2f6180760.html, 图像纹理检测与特征提取技术研究综述 作者:李秀怡 来源:《中国管理信息化》2017年第23期 [摘要] 图像纹理作为图像数据的重要信息,是符合人类视觉特征的重要信息之一。纹理 检测与特征提取是纹理分类与分割的基础前提,可以应用到医疗、工业、农业、天文等多个领域,也是近几十年来一个经久不衰的热点研究。随着图像处理领域各种技术的发展,纹理特征分析提取方法也得到不断创新。文章在对相关文献进行调研的基础上,叙述了纹理特征提取方法的发展历程及研究现状,并重点对近十年纹理特征提取方法进行了论述,最后指出了该领域的发展趋势及问题。 [关键词] 图像纹理;特征提取;小波;支持向量机 doi : 10 . 3969 / j . issn . 1673 - 0194 . 2017. 23. 088 [中图分类号] TP311 [文献标识码] A [文章编号] 1673 - 0194(2017)23- 0175- 04 1 引言 随着大数据时代的到来,相对于一般数据,图像信息作为一种更直观更形象的数据表现形式,其应用已经深入到医学、工业、航空、农业等各行业领域中。而纹理作为图像的重要特征之一,可以充分反映图像的整体特征,因此也成为了诸多图像后处理技术所必备的研究条件。但是,纹理的复杂多样性使得研究者们对其分析和准确识别是非常困难。而解决这个困难的方法之一是对图像提取纹理,然后对提取的纹理进行分析研究。这也是模式识别、图像检索、和计算机视觉等研究的基础。在纹理研究的每个阶段内,随着国内外学者研究对图像纹理提取模型及算法的不断创新,以及纹理提取的广泛的应用价值,促使着大家对这一领域进行更深入的研究。 2 纹理的基本定义及特性 目前,人们对纹理的精确定义还没有完全统一,当前几个类别的定义基本上按不同的应用类型形成相对的定义。一般认为,纹理是图像色彩或者灰度在空间上的重复或变化形成纹理。通常,人们将组成纹理的基本单元称为纹理基元或纹元(texture element)。 尽管关于纹理的定义尚未统一,但人们对纹理信息所具有的如下特性达成共识: (1)纹理基元是纹理存在的基本元素,并一定是按照某种规律排列组合形成纹理;(2)纹理信息具有局部显著性,通常可以表现为纹理基元序列在一定的局部空间重复出现;(3)纹理有周期性、方向性、密度、强度和粗糙程度等基本特征,而与人类视觉特征相一致的周期

(完整版)图像特征特点及常用的特征提取与匹配方法

图像特征特点及常用的特征提取与匹配方法 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。 一颜色特征 (一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。另外,仅使用颜色特征查询时,如果数据库很大,常会将许多不需要的图像也检索出来。颜色直方图是最常用的表达颜色特征的方法,其优点是不受图像旋转和平移变化的影响,进一步借助归一化还可不受图像尺度变化的影响,基缺点是没有表达出颜色空间分布的信息。 (二)常用的特征提取与匹配方法 (1) 颜色直方图 其优点在于:它能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。其缺点在于:它无法描述图像中颜色的局部分布及每种色彩所处的空间位置,即无法描述图像中的某一具体的对象或物体。 最常用的颜色空间:RGB颜色空间、HSV颜色空间。 颜色直方图特征匹配方法:直方图相交法、距离法、中心距法、参考颜色表法、累加颜色直方图法。 (2) 颜色集 颜色直方图法是一种全局颜色特征提取与匹配方法,无法区分局部颜色信息。颜色集是对颜色直方图的一种近似首先将图像从RGB颜色空间转化成视觉均衡 的颜色空间(如HSV 空间),并将颜色空间量化成若干个柄。然后,用色彩自动分割技术将图像分为若干区域,每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达为一个二进制的颜色索引集。在图像匹配中,比较不同图像颜色集之间的距离和色彩区域的空间关系 (3) 颜色矩

图像局部特征点检测算法综述

图像局部特征点检测算法综述 研究图像特征检测已经有一段时间了,图像特征检测的方法很多,又加上各种算法的变形,所以难以在短时间内全面的了解,只是对主流的特征检测算法的原理进行了学习。总体来说,图像特征可以包括颜色特征、纹理特等、形状特征以及局部特征点等。其中局部特点具有很好的稳定性,不容易受外界环境的干扰,本篇文章也是对这方面知识的一个总结。 本篇文章现在(2015/1/30)只是以初稿的形式,列出了主体的框架,后面还有许多地方需要增加与修改,例如2013年新出现的基于非线性尺度空间的KAZE特征提取方法以及它的改进AKATE等。在应用方面,后面会增一些具有实际代码的例子,尤其是基于特征点的搜索与运动目标跟踪方面。 1. 局部特征点 图像特征提取是图像分析与图像识别的前提,它是将高维的图像数据进行简化表达最有效的方式,从一幅图像的M×N×3的数据矩阵中,我们看不出任何信息,所以我们必须根据这些数据提取出图像中的关键信息,一些基本元件以及它们的关系。 局部特征点是图像特征的局部表达,它只能反正图像上具有的局部特殊性,所以它只适合于对图像进行匹配,检索等应用。对于图像理解则不太适合。而后者更关心一些全局特征,如颜色分布,纹理特征,主要物体的形状等。全局特征容易受到环境的干扰,光照,旋转,噪声等不利因素都会影响全局特征。相比而言,局部特征点,往往对应着图像中的一些线条交叉,明暗变化的结构中,受到的干扰也少。 而斑点与角点是两类局部特征点。斑点通常是指与周围有着颜色和灰度差别的区域,如草原上的一棵树或一栋房子。它是一个区域,所以它比角点的噪能力要强,稳定性要好。而角点则是图像中一边物体的拐角或者线条之间的交叉部分。 2. 斑点检测原理与举例 2.1 LoG与DoH 斑点检测的方法主要包括利用高斯拉普拉斯算子检测的方法(LOG),以及利用像素点Hessian矩阵(二阶微分)及其行列式值的方法(DOH)。 LoG的方法已经在斑点检测这入篇文章里作了详细的描述。因为二维高斯函数的拉普拉斯核很像一个斑点,所以可以利用卷积来求出图像中的斑点状的结构。 DoH方法就是利用图像点二阶微分Hessian矩阵:

图像特征特点及其常用的特征提取与匹配方法

图像特征特点及其常用的特征提取与匹配方法 [ 2006-9-22 15:53:00 | By: 天若有情 ] 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。 一颜色特征 (一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。另外,仅使用颜色特征查询时,如果数据库很大,常会将许多不需要的图像也检索出来。颜色直方图是最常用的表达颜色特征的方法,其优点是不受图像旋转和平移变化的影响,进一步借助归一化还可不受图像尺度变化的影响,基缺点是没有表达出颜色空间分布的信息。 (二)常用的特征提取与匹配方法 (1)颜色直方图 其优点在于:它能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。其缺点在于:它无法描述图像中颜色的局部分布及每种色彩所处的空间位置,即无法描述图像中的某一具体的对象或物体。 最常用的颜色空间:RGB颜色空间、HSV颜色空间。 颜色直方图特征匹配方法:直方图相交法、距离法、中心距法、参考颜色表法、累加颜色直方图法。 (2)颜色集 颜色直方图法是一种全局颜色特征提取与匹配方法,无法区分局部颜色信息。颜色集是对颜色直方图的一种近似首先将图像从RGB颜色空间转化成视觉均衡的颜色空间(如HSV 空间),并将颜色空间量化成若干个柄。然后,用色彩自动分割技术将图像分为若干区域,每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达为一个二进制的颜色索引集。在图像匹配中,比较不同图像颜色集之间的距离和色彩区域的空间关系 (3)颜色矩 这种方法的数学基础在于:图像中任何的颜色分布均可以用它的矩来表示。此外,由于颜色分布信息主要集中在低阶矩中,因此,仅采用颜色的一阶矩(m ean)、二阶矩(variance)和三阶矩(skewness)就足以表达图像的颜色分布。(4)颜色聚合向量 其核心思想是:将属于直方图每一个柄的像素分成两部分,如果该柄内的某些像素所占据的连续区域的面积大于给定的阈值,则该区域内的像素作为聚合像素,否则作为非聚合像素。 (5)颜色相关图 二纹理特征 (一)特点:纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局

图像特征提取总结

图像常见xx方法简介 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。 一、颜色特征 (一)特点: 颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。 一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。 由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。另外,仅使用颜色特征查询时,如果数据库很大,常会将许多不需要的图像也检索出来。颜色直方图是最常用的表达颜色特征的方法,其优点是不受图像旋转和平移变化的影响,进一步借助归一化还可不受图像尺度变化的影响,基缺点是没有表达出颜色空间分布的信息。 (二)常用的xx与匹配方法 (1)颜色直方图 其优点在于: 它能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。其缺点在于: 它无法描述图像中颜色的局部分布及每种色彩所处的空间位置,即无法描述图像中的某一具体的对象或物体。 最常用的颜色空间: RGB颜色空间、HSV颜色空间。 颜色直方图特征匹配方法:

直方图相交法、距离法、中心距法、参考颜色表法、累加颜色直方图法。 (2)颜色集 颜色直方图法是一种全局颜色特征提取与匹配方法,无法区分局部颜色信息。颜色集是对颜色直方图的一种近似首先将图像从RGB颜色空间转化成视觉均衡的颜色空间(如HSV空间),并将颜色空间量化成若干个柄。然后,用色彩自动分割技术将图像分为若干区域,每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达为一个二进制的颜色索引集。 在图像匹配中,比较不同图像颜色集之间的距离和色彩区域的空间关系 (3)颜色矩 这种方法的数学基础在于: 图像中任何的颜色分布均可以用它的矩来表示。此外,由于颜色分布信息主要集中在低阶矩中,因此,仅采用颜色的一阶矩(mean)、二阶矩(variance)和三阶矩(skewness)就足以表达图像的颜色分布。 (4)颜色聚合向量 其核心思想是: 将属于直方图每一个柄的像素分成两部分,如果该柄内的某些像素所占据的连续区域的面积大于给定的阈值,则该区域内的像素作为聚合像素,否则作为非聚合像素。 (5)颜色相关图 二纹理特征 (一)特点: 纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行

图像特征提取算法

Histograms of for Human Detection Navneet Dalal and Bill Triggs INRIA Rh?o ne-Alps,655avenue de l’Europe,Montbonnot38334,France {Navneet.Dalal,Bill.Triggs}@inrialpes.fr,http://lear.inrialpes.fr Abstract We study the question of feature sets for ob-ject recognition,adopting linear SVM based human detec-tion as a test case.After reviewing existing edge and gra-dient based descriptors,we show experimentally that grids of Histograms of Oriented Gradient(HOG)descriptors sig-ni?cantly outperform existing feature sets for human detec-tion.We study the in?uence of each stage of the computation on performance,concluding that?ne-scale gradients,?ne orientation binning,relatively coarse spatial binning,and high-quality local contrast normalization in overlapping de-scriptor blocks are all important for good results.The new approach gives near-perfect separation on the original MIT pedestrian database,so we introduce a more challenging dataset containing over1800annotated human images with a large range of pose variations and backgrounds. 1Introduction Detecting humans in images is a challenging task owing to their variable appearance and the wide range of poses that they can adopt.The?rst need is a robust feature set that allows the human form to be discriminated cleanly,even in cluttered backgrounds under dif?cult illumination.We study the issue of feature sets for human detection,showing that lo-cally normalized Histogram of Oriented Gradient(HOG)de-scriptors provide excellent performance relative to other ex-isting feature sets including wavelets[17,22].The proposed descriptors are reminiscent of edge orientation histograms [4,5],SIFT descriptors[12]and shape contexts[1],but they are computed on a dense grid of uniformly spaced cells and they use overlapping local contrast normalizations for im-proved performance.We make a detailed study of the effects of various implementation choices on detector performance, taking“pedestrian detection”(the detection of mostly visible people in more or less upright poses)as a test case.For sim-plicity and speed,we use linear SVM as a baseline classi?er throughout the study.The new detectors give essentially per-fect results on the MIT pedestrian test set[18,17],so we have created a more challenging set containing over1800pedes-trian images with a large range of poses and backgrounds. Ongoing work suggests that our feature set performs equally well for other shape-based object classes. We brie?y discuss previous work on human detection in §2,give an overview of our method§3,describe our data sets in§4and give a detailed description and experimental evaluation of each stage of the process in§5–6.The main conclusions are summarized in§7. 2Previous Work There is an extensive literature on object detection,but here we mention just a few relevant papers on human detec-tion[18,17,22,16,20].See[6]for a survey.Papageorgiou et al[18]describe a pedestrian detector based on a polynomial SVM using recti?ed Haar wavelets as input descriptors,with a parts(subwindow)based variant in[17].Depoortere et al give an optimized version of this[2].Gavrila&Philomen [8]take a more direct approach,extracting edge images and matching them to a set of learned exemplars using chamfer distance.This has been used in a practical real-time pedes-trian detection system[7].Viola et al[22]build an ef?cient moving person detector,using AdaBoost to train a chain of progressively more complex region rejection rules based on Haar-like wavelets and space-time differences.Ronfard et al[19]build an articulated body detector by incorporating SVM based limb classi?ers over1st and2nd order Gaussian ?lters in a dynamic programming framework similar to those of Felzenszwalb&Huttenlocher[3]and Ioffe&Forsyth [9].Mikolajczyk et al[16]use combinations of orientation-position histograms with binary-thresholded gradient magni-tudes to build a parts based method containing detectors for faces,heads,and front and side pro?les of upper and lower body parts.In contrast,our detector uses a simpler archi-tecture with a single detection window,but appears to give signi?cantly higher performance on pedestrian images. 3Overview of the Method This section gives an overview of our feature extraction chain,which is summarized in?g.1.Implementation details are postponed until§6.The method is based on evaluating well-normalized local histograms of image gradient orienta-tions in a dense grid.Similar features have seen increasing use over the past decade[4,5,12,15].The basic idea is that local object appearance and shape can often be characterized rather well by the distribution of local intensity gradients or 1

相关文档
最新文档