基于连通域分析的多维特征量提取方法及装置
技术领域
本发明涉及图像处理的技术领域,特别涉及一种基于连通域分析的多维特征量提取方法及装置。
背景技术
blob是指具有相似图像特征(如颜色或文理等)组成的连通区域。blob分析是计算机视觉和图像理解的一个重要组成部分,在对图像中物体的位置、形状和大小几乎没有任何先验知识的情况下可以很方便的定位物体,计算物体的几何特征量,从而可以根据这些特征量对物体进行选择和分类。
现有的blob分析过程为先将图像进行二值化,图像中的每一像素必须被指定为目标像素或背景像素,进而将二值化的图像分割得到目标和背景;然后对目标进行连通域标记,最后根据目标区域提取特征量。目前的连通域标记方法主要为递归法对像素扫描标记;标记过程为利用递归法扫描图像,找到没有标记的X像素点,为它分配一个新的标记L,递归分配标记L给X的相邻的像素点,直到所有的像素点都被标记。
但是,现有的blob分析主要基于对单个像素的运算,导致运算速度慢,无法满足实时图像处理的需要;提取的特征量有限,限制对被定位物体的检测量;并且在工业环境下采集的图像由于光照等因素的影响,经二值化处理后存在很多噪声,导致blob分析不准确。因此,现有的blob很难应用到工业视觉检测中。
发明内容
本发明的发明目的在于提供一种基于连通域分析的多维特征量提取方法及装置,已解决现有的blob分析运算速度慢,提取特征量有限及由于采集的图像噪声较多,导致分析不准确的问题。
根据本发明的实施例第一方面,提供了一种基于连通域分析的多维特征量提取方法包括,
获取灰度图像;
根据预设的处理规则,对所述灰度图像进行处理,得到所述感兴趣区域的游程编码;
对所述感兴趣区域的游程编码进行一次降噪处理,得到一次降噪区域的游程编码;
对所述一次降噪区域的游程编码进行边界跟踪并在边界处做出标记,得到目标区域的游程编码;
对所述目标区域的游程编码进行二次降噪处理,得到二次降噪区域的游程编码;
根据所述二次降噪区域的游程编码,提取特征量,所述特征量至少包括连通标记、面积、质心、坐标最小外接矩形、子节点个数、剪切标记、关于坐标轴的惯性二阶矩、最大惯性二阶矩、最小惯性二阶矩、延长度、主轴最小外接矩形、边界像素长度、周长、圆度、归一化圆度、最小灰度值、最大灰度值或平均灰度值中的一种。
根据本发明的实施例第二方面,提供了一种基于连通域分析的多维特征量提取装置包括,
获取模块,用于获取灰度图像;
预处理模块,用于根据预设的处理规则,对所述灰度图像进行处理,得到所述感兴趣区域的游程编码;
一次降噪处理模块,用于对所述感兴趣区域的游程编码进行一次降噪处理,得到一次降噪区域的游程编码;
连通域标记模块,用于对所述一次降噪区域的游程编码进行边界跟踪并在边界处做出标记,得到目标区域的游程编码;
二次降噪处理模块,用于对所述目标区域的游程编码进行二次降噪处理,得到二次降噪区域的游程编码;
特征量提取模块,用于根据二次降噪区域的游程编码,提取特征量,所述特征量至少包括连通标记、面积、质心、坐标最小外接矩形、子节点个数、剪切标记、关于坐标轴的惯性二阶矩、最大惯性二阶矩、最小惯性二阶矩、延长度、主轴最小外接矩形、边界像素长度、周长、圆度、归一化圆度、最小灰度值、最大灰度值、平均灰度值中的一种。
由以上技术方案可知,本发明提供了一种基于连通域分析的多维特征量提取方法及装置,对获取的灰度图像经预处理后得到感兴趣区域,再对感兴趣区域的进行一次降噪处理,去除感兴趣区域的噪声点,然后对一次降噪处理后的感兴趣区域进行边界跟踪及标记,得到目标区域,目标区域进行二次降噪处理,去除目标区域的噪声块,最后进行特征量提取。因此,本发明在提取特征量之前,经两次降噪处理,提高图像的精度,使提取的特征量更准确;并且将灰度图像利用游程编码进行压缩处理,在对灰度图像的预处理、两次降噪处理及边界跟踪及连通量标记均对灰度图像转换的游程编码进行运算,提高运算速度,满足对实时图像的处理需求;并且可提取20个特征量,基本满足工业现场的检测需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于连通域分析的多维特征量提取方法的流程图;
图2为图1中步骤S13的流程图;
图3为图1中步骤S15的流程图;
图4为图1中步骤S12的流程图;
图5为本发明实施例提供的一种基于连通域分析的多维特征量提取装置的流程图;
图6为本发明第四实施例的二值化编码;
图7为图6的游程编码。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明第一实施例提供一种基于连通域分析的多维特征量提取方法包括,
步骤S11:获取灰度图像;
灰度图像是每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度。灰度图像经常是在单个电磁波频谱如可见光内测量每个像素的亮度得到的,用于显示的灰度图像通常用每个采样像素8位的非线性尺度来保存,这样可以有256级灰度。
步骤S12:根据预设的处理规则,对所述灰度图像进行处理,得到所述感兴趣区域的游程编码;
灰度图像经分割背景处理,得到目标图像,再对目标图像进行掩膜操作,得到感兴趣区域;感兴趣区域为所需要检测的对象;再对感兴趣区域采用游程编码压缩处理。
游程编码把一系列的重复值用一个单独的值再加上一个计数值来取代,例如有这样一个字母序列aabbbccccccccddddd,对他进行游程编码的结果是2a3b8c5d,其中,游程编码位中的第一位表示字母的个数,即游程长度,后一位表示具体的字母;对比游程编码前后的代码数可以发现,表示相同的数据,采用游程编码的方式,数据量大大减小。
步骤S13:对所述感兴趣区域的游程编码进行一次降噪处理,得到一次降噪区域的游程编码;
工业环境下采集的图像由于光照等因素的影响,降噪处理可去除感兴趣区域的噪声点,以增加感兴趣区域的图像精度;并且对游程编码进行运算处理,可提高运算速度。
步骤S14:对所述一次降噪区域的游程编码进行边界跟踪并在边界处做出标记,得到目标区域的游程编码;
对一次降噪区域的游程编码进行边界跟踪并标记边界的方法不做限制,可采用对编码后的一次降噪区域进行边界跟踪,得到连通域,并且标记连通域边界;利用等价表记录所有标记冗余,利用搜索算法,进行等价标记合并,由于采用游程编码的方式,有效的压缩图像,使搜索空间变小,从而降低算法搜索的空间复杂度。
步骤S15:对所述目标区域的游程编码进行二次降噪处理,得到二次降噪区域的游程编码;
对目标区域进行二次降噪处理,去除目标区域的噪声块,提高目标区域的图像精度,以使提取特征量的值更加准确;并且对游程编码进行运算处理,可提高运算速度。
步骤S16:根据所述二次降噪区域的游程编码,提取特征量,所述特征量至少包括连通标记、面积、质心、坐标最小外接矩形、子节点个数、剪切标记、关于坐标轴的惯性二阶矩、最大惯性二阶矩、最小惯性二阶矩、延长度、主轴最小外接矩形、边界像素长度、周长、圆度、归一化圆度、最小灰度值、最大灰度值或平均灰度值中的一种。
由以上技术方案可知,本发明实施例提供了一种基于连通域分析的多维特征量提取方法,对获取的灰度图像经预处理后得到感兴趣区域,再对感兴趣区域的进行一次降噪处理,去除感兴趣区域的噪声点,然后对一次降噪处理后的感兴趣区域进行边界跟踪及标记,得到目标区域,目标区域进行二次降噪处理,去除目标区域的噪声块,最后进行特征量提取。因此,本发明在提取特征量之前,经两次降噪处理,提高图像的精度,使提取的特征量更准确;并且将灰度图像利用游程编码进行压缩处理,在对灰度图像的预处理、两次降噪处理及边界跟踪及连通量标记均对灰度图像转换的游程编码进行运算,提高运算速度,满足对实时图像的处理需求;并且可提取20个特征量,基本满足工业现场的检测需求。
在本发明第二实施例中,如图2所示,步骤S13具体包括如下步骤:
步骤S21:获取结构元素,所述结构元素至少为三行一列、一行三列或三行三列的一种;
结构元素是研究图像中感兴趣区域所用的小集合或子图像,结构元素可以是任意形状,并且结构元素的原点是该区域的中心。本实施例可取结构元素为三行一列、一行三列或三行三列的一种或多种。
步骤S22:根据结构元素,对所述感兴趣区域的游程编码进行形态学运算,得到一次降噪区域的游程编码。
形态学运算包括膨胀、腐蚀以及由膨胀和腐蚀组合为的开、闭运算;膨胀通常为利用结构元素扫描图像中的每一个像素,将结构元素中的每一个像素与其覆盖的像素做“或”运算,若均为0,则该像素为0;否则为1;膨胀可以将与背景点合并到目标中,是目标增大,以填补目标中的空洞。
腐蚀为结构元素扫描图像中的每一个像素,将结构元素中每个像素与其覆盖的像素做“与”运算,如果都为1,则像素为1,否则为0;腐蚀可以消除图像中的边界点,是目标缩小,以消除小于结构元素的噪声点。
开运算是先腐蚀后膨胀的过程,以消除图像上细小的噪声,并平滑物体边界。
闭运算是先膨胀后腐蚀的过程,以填充物体内细小的空洞,并平滑物体边界。
由于本实施例对感兴趣区域进行游程编码,由于游程编码将相同数据进行压缩,因此只需对相邻游程边界的数据进行上述运算即可,得到一次降噪区域的游程编,因此可减少运算次数,加快运算效率;并且本发明可采用三个结构元素,进行形态学运算,因此得到的图形精度更高,使提取量更准确。
在本发明第三实施例中,如图3所示,步骤S15具体包括如下步骤:
步骤S31:对所述目标区域的游程编码进行修剪处理,得到修剪后目标区域的游程编码;
此步骤还包括如下步骤:
步骤01:获取所述目标区域的节点的面积特征及所述节点的子节点的面积特征,所述面积特征为节点或子节点包含的游程编码的长度;
步骤02:判断所述节点的面积特征是否小于预设面积,并且所述子节点的面积特征是否小于所述预设面积;
若所述节点的面积特征小于预设面积,并且所述子节点的面积特征小于所述预设面积,删除所述节点;
若所述节点的面积特征小于预设面积,并且所述子节点的面积特征大于所述预设面积,保留所述节点。
步骤S32:获取所述目标区域内的目标及孔洞的拓扑关系;
拓扑关系是指指满足拓扑几何学原理的各空间数据间的相互关系。即用结点、弧段、多边形和岛所表示的实体之间的邻接、关联、包含和连通关系。如:点与点的邻接关系、点与面的包含关系、线与面的相离关系、面与面的重合关系等。
步骤S33:根据所述目标区域内的目标及孔洞的拓扑关系,对所述修剪后目标区域的游程编码进行填充处理,得到二次降噪区域的游程编码。
由于对目标区域进行修剪和填充处理,已去除噪声块,提高目标区域的精度,使特征量提取的更准确。由于本实施例对感兴趣区域进行游程编码,由于游程编码将相同数据进行压缩,因此只需对相邻游程边界的数据进行上述运算即可,得到二次降噪区域的游程编,因此可减少运算次数,加快运算效率。
在本发明第四实施例中,如图4所示,步骤S12具体包括如下步骤:
步骤S41:将所述灰度图像中的图像目标与背景图像分割;
图像目标为被测物,背景图像为除被测物外的图像;将图像目标与背景图像分割,以针对图像目标进行处理。
该步骤还具体包括如下步骤:
步骤01:获取所述灰度图像的像素点的灰度值;
灰度图像是每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度。灰度图像经常是在单个电磁波频谱如可见光内测量每个像素的亮度得到的,用于显示的灰度图像通常用每个采样像素8位的非线性尺度来保存,这样可以有256级灰度。
步骤02:将所述灰度图像的像素点的灰度值与预设的固定软阈值序列相比较,
若所述灰度图像的像素点的灰度值大于预设的固定软阈值序列内的数值,所述像素点为图像目标的像素点;
若所述灰度图像的像素点的灰度值等于预设的固定软阈值序列内的数值,所述像素点为过度像素点;
若所述灰度图像的像素点的灰度值小于预设的固定软阈值序列内的数值,所述像素点为背景图像的像素点。
由于图像目标的边缘不易落在两个像素的边界上,因而存在过度像素,即一个像素部分为图像目标,部分为背景图像。并且将像素点的灰度值大于预设的固定软阈值序列内的数值,所述像素点为图像目标的像素点,并且该像素的权重为1.0;若所述灰度图像的像素点的灰度值等于预设的固定软阈值序列内的数值,所述像素点为过度像素点,该像素点的权重为0.0-1.0之间;若所述灰度图像的像素点的灰度值小于预设的固定软阈值序列内的数值,所述像素点为背景图像的像素点,该像素点的权重为0.0。
固定软阈值序列相对于固定硬阈值而言,设定的阈值的数量较多,所以不仅可以区分图像目标的像素点和背景图像,还能将识别出既含有图像目标,又含有背景图像的过度像素。
步骤S42:对所述图像目标进行二值化处理,得到二值化的图像目标;
步骤S43:根据所述二值化的图像目标,得到所述图像目标的游程编码;
二值化后的图像目标不包括其他值,只包括“0”或“1”作为像素值的值,因此利用游程编码的方法可找到有多少白色或黑色像素在每行中连续出现。例如,如图6所示,二值化后的目标图形,从顶部的第一行中有两个连续的“1”,1个“0”,2个“1”,则可生成如图7所示的游程编码,其中run为游程的地址,value为游程值,length为游程长度。由此可知,将二值化的图像经游程编码压缩后,大大减少数据量。
步骤S44:根据掩膜图像的游程编码和所述图像目标的游程编码,得到所述感兴趣区域的游程编码。
掩膜为用选定的图像、图形或物体,对待处理的图像(全部或局部)进行遮挡,来控制图像处理的区域。本发明的实施例先将掩膜图像进行二值化处理,掩膜图像中灰度值为“1”的区域为无效区域;采用利用游程编码对掩膜图像进行压缩,得到掩膜图像的游程编码,通过掩膜图像的游程编码对图像目标的游程编码进行掩膜运算,得到感兴趣区域的游程编码。
在本发明第二实施例中,步骤S16之后还包括如下步骤:
步骤01:获取所述特定特征量;
步骤02:根据所述特定特征量,对目标区域的目标或孔洞进行排序;
可根据特定特征量,比如面积、质心等,对目标区域的目标或孔洞进行排序,方便对包含该特征量的目标或孔洞进行查找。
或者,
步骤01:获取特定特征量的取值范围;
步骤02:根据所述特定特征量的取值范围,对所述目标区域的目标或孔洞进行筛选。
根据特定特征量的取值范围,比如面积在100-150mm2,可以筛选出在预设范围特征量的目标或孔洞。
根据本发明实施例的第二方面,如图5所示,提供了一种基于连通域分析的多维特征量提取装置包括,
获取模块51,用于获取灰度图像;
预处理模块52,用于根据预设的处理规则,对所述灰度图像进行处理,得到所述感兴趣区域的游程编码;
一次降噪处理模块53,用于对所述感兴趣区域的游程编码进行一次降噪处理,得到一次降噪区域的游程编码;
连通域标记模块54,用于对所述一次降噪区域的游程编码进行边界跟踪并在边界处做出标记,得到目标区域的游程编码;
二次降噪处理模块55,用于对所述目标区域的游程编码进行二次降噪处理,得到二次降噪区域的游程编码;
特征量提取模块56,用于根据二次降噪区域的游程编码,提取特征量,所述特征量至少包括连通标记、面积、质心、坐标最小外接矩形、子节点个数、剪切标记、关于坐标轴的惯性二阶矩、最大惯性二阶矩、最小惯性二阶矩、延长度、主轴最小外接矩形、边界像素长度、周长、圆度、归一化圆度、最小灰度值、最大灰度值、平均灰度值中的一种。
由以上技术方案可知,本发明实施例提供了一种基于连通域分析的多维特征量提取装置,对获取的灰度图像经预处理后得到感兴趣区域,再对感兴趣区域的进行一次降噪处理,去除感兴趣区域的噪声点,然后对一次降噪处理后的感兴趣区域进行边界跟踪及标记,得到目标区域,目标区域进行二次降噪处理,去除目标区域的噪声块,最后进行特征量提取。因此,本发明在提取特征量之前,经两次降噪处理,提高图像的精度,使提取的特征量更准确;并且将灰度图像利用游程编码进行压缩处理,在对灰度图像的预处理、两次降噪处理及边界跟踪及连通量标记均对灰度图像转换的游程编码进行运算,提高运算速度,满足对实时图像的处理需求;并且可提取20个特征量,基本满足工业现场的检测需求。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。