本发明涉及一种圆形图像的特征提取方法,属于图像处理的技术领域。
背景技术:
圆形图像在日常生活中非常常见,在人工智能或模式识别领域,对圆形图像所含内容的分类与识别具有非常重要的意义。例如对道路交通标志图像中圆形图像的识别,或者对于圆形中国象棋棋子图像内容的分类与识别。
圆形图像在利用摄像机等设备进行采集的过程中容易出现旋转,而旋转的圆形图像所提取特征的如具有旋转不变形,则对后续识别和分类具有非常大的意义。同时,由于光照和环境的影响,所采集到的圆形图像,容易受到环境光线的影响,造成整体像素值的增大或减少。目前对于图像具有旋转不变性的特征提取方法一般为采用hu不变矩,hu不变矩具有旋转、平移、尺度不变等特性。但hu不变矩的方法运算量巨大,对处理器性能提出了较高要求,且hu不变矩不能解决光照敏感的缺点。
线性插值算法和双线性插值算法是现有技术中图像处理的常用算法。线性差值算法即在一条线段上,已知线段两端点对应的函数值,利用线性关系计算线段上其余点对应函数值的方法。例如:线段平行于横轴,线段的两个端点的横坐标分别为x1和x2,对应的函数值分别为f(x1)和f(x2),则线段上横坐标为x的点对应的函数值为:
双线性插值算法的核心思想是在两个方向分别进行一次线性插值,步骤如下:(如图4所示)
已知函数f在q11=(x1,y1),q12=(x1,y2),q21=(x2,y1)以及q22=(x2,y2)四个点的值,
预求未知函数f在点p=(x,y)的值。
第一步:在x方向进行线性插值,得到:
第二步:在y方向进行线性差值,得到:
最终即可得到所要的结果f(x,y)。
技术实现要素:
针对现有技术的不足,本发明提供一种圆形图像的特征提取方法。
发明概述:
本发明所述圆形图像的特征提取方法,在归一化后的灰度圆形图像内,找出多个同心圆,在每个同心圆上等间距找到足够多的点(不同同心圆上找到的点的数量不相同),将这些点的像素放到矩阵中,形成行阶梯矩阵。通过线性插值算法,对行阶梯矩阵逐行拉伸变换。处理完成后,对矩阵每一列像素的灰度值累加,形成列累加和曲线。按照一定的规则,调整矩阵中列的顺序,选择原始归一化图像中的像素灰度平均值做阈值对矩阵二值化,通过列平移最终形成二值化的特征矩阵。
本发明的技术方案为:
一种圆形图像的特征提取方法,包括步骤如下:
1)输入彩色图像image1,将所述彩色图像image1灰度变换为灰度图像image2;计算灰度图像image2中的所有像素点的灰度平均值ga;所述彩色图像image1为四个边与圆形图像的轮廓外缘相切的正方形图像;灰度变换为图像处理中的常用方法,为所属领域技术人员所熟知。
2)设灰度图像image2中圆形图像的轮廓半径为r,将灰度图像image2缩放为半径为r的标准圆形图像image3;
3)计算标准圆形图像image3的圆心坐标c(xc,yc);
4)在标准圆形图像image3上以圆心c为圆心,做w个同心圆,w个同心圆的半径分别记为r1,r2,…,rm,…,rw;相邻同心圆的半径差值σn≥1;σn为恒定值或不定值,可以为整数或浮点数;同心圆的数量可根据图像纹理复杂程度决定,图像纹理越复杂,所选取的同心圆数量越多。
5)在每一个同心圆上,等间距选取若干个样本点;半径为rm的同心圆上采集的样本点数为pm,则同心圆上所选择的样本点数分别为p1,p2,…,pm,…,pw;每个同心圆上的第一个样本点ym0选择在圆心的正右侧,即ym0的y坐标值为r,x坐标值为r+rm,其他样本点以第一个样本点ym0为基准,逆时针编号;第m个同心圆的第n个样本点ymn的x坐标和y坐标分别为:
6)计算ymn坐标的灰度值,存入矩阵,得到w×pw的矩阵mt1;
7)将矩阵mt1的每一行中的pm个元素进行拉伸操作,使每一行的ampm元素拉伸到所在行的最后一列位置,该行中其余位置的元素值按照线性插值方法计算,生成矩阵mt2;
其余位置的元素值按照线性插值方法计算的具体过程如下:
矩阵mt2第m行第u个元素对应矩阵mti中第m行第u0=u×k个元素,其中,缩放系数k=(pm-1)/(pw-1);对u0取整记为v,则矩阵mt2中的m行的第u个元素的值为:f=(u0-v)amv+(1+v-u0)am(v+1);
u0一般为浮点数,不论u0是整数还是浮点数,对u0取整记为v,取整用的方法是直接删除小数点之后的小数。用上述方法遍历矩阵mt1的所有元素位置,求得矩阵mt2;
8)对矩阵mt2二值化处理,得到矩阵mt3;二值化阈值为ga;
二值化公式为:
由于二值化所选阈值为image2中的所有像素点的灰度平均值ga,当图像面临光照变化时,图像中的所有像素均呈现相同的变化趋势及相似的灰度变化大小,因此提取出的特征对光照不敏感。
将矩阵mt2中每一列元素累加,得到一维矩阵mt4;mt4=[d1d2...dpw];
9)查找矩阵mt4内的最小值元素dz;z为最小值元素对应的列号;
10)将矩阵mt3中列号小于z的所有列,平移到矩阵mt3的第pw列之后,得到新矩阵mt6;
mt6即为图像image1的特征矩阵;mt6内的元素为1或0。
根据本发明优选的,所述步骤2)中将灰度图像image2缩放为半径为r的标准圆形图像image3的方法为,双线性插值算法,缩放比例为r/r。通过双线性插值算法对图形进行缩放操作为图像处理中的常用方法,为所属领域技术人员所熟知。
根据本发明优选的,所述步骤5)中,pm=7×rm。样本数pm的选择,与半径有关系,半径越小,pm越小。
根据本发明优选的,所述步骤6)中,采用双线性插值算法计算ymn坐标的灰度值。ymn的坐标值一般为浮点数,需采用双线性插值算法进行处理;
根据本发明优选的,所述步骤7)中,将矩阵mt1中的每一行中的pm个元素进行拉伸操作,是通过双线性插值算法实现。
根据本发明优选的,所述步骤8)中,将矩阵mt2中每一列元素累加,得到一维矩阵mt4的计算方法为:mt4=mt5×mt2,其中,mt5为元素均为1的单行矩阵,列数为w;即mt5=ones(1,w)。
根据本发明优选的,所述步骤9)中,当出现连续相同最小值时,选择列号最小的一个元素作为dz。
本发明的有益效果为:
1.本发明所述圆形图像的特征提取方法,对矩阵mt2二值化处理时,所选取的阈值为image2中的所有像素点的灰度平均值ga,当图像面临光照变化时,图像中的所有像素均呈现相同的变化趋势及相似的灰度变化大小,因此本发明提取出的特征对光照不敏感;
2.本发明所述圆形图像的特征提取方法,矩阵mt6中的元素是通过各同心圆获得的,且根据同心圆矩阵拉伸后列投影,找到列累加最小值后进行了平移,相当于对所有同心圆进行了同步旋转,以投影统计最小值作为特征矩阵的首列;因此,特征矩阵mt6具有旋转不变性,可用于对识别样本和目标的特征提取。
附图说明
图1为本发明所述彩色图像image1;
图2为本发明所述灰度图像image2;
图3为本发明圆形图像的特征提取方法中,在同心圆上等间距选取若干个样本点的示意图;
图4为现有技术中双线性差值算法示意图;
图5为未经旋转的圆形图像处理得到的灰度图像;
图6为未经旋转的圆形图像的直方图及灰度平均值图像;
图7为未经旋转的圆形图像对应的mt2矩阵图像;
图8为未经旋转的圆形图像对应的mt4矩阵曲线图;
图9为未经旋转的圆形图像对应的mt6矩阵图像;
图10为旋转35°的圆形图像处理得到的灰度图像;
图11为旋转35°的圆形图像的直方图及灰度平均值图像;
图12为旋转35°的圆形图像对应的mt2矩阵图像;
图13为旋转35°的圆形图像对应的mt4矩阵曲线图;
图14为旋转35°的圆形图像对应的mt6矩阵图像;
图15为旋转90°的圆形图像处理得到的灰度图像;
图16为旋转90°的圆形图像的直方图及灰度平均值图像;
图17为旋转90°的圆形图像对应的mt2矩阵图像;
图18为旋转90°的圆形图像对应的mt4矩阵曲线图;
图19为旋转90°的圆形图像对应的mt6矩阵图像;
图20为光照变弱的圆形图像处理得到的灰度图像;
图21为光照变弱的圆形图像的直方图及灰度平均值图像;
图22为光照变弱的圆形图像对应的mt2矩阵图像;
图23为光照变弱的圆形图像对应的mt4矩阵曲线图;
图24为光照变弱的圆形图像对应的mt6矩阵图像;
图25为不同的圆形图像处理得到的灰度图像;
图26为不同的圆形图像的直方图及灰度平均值图像;
图27为不同的圆形图像对应的mt2矩阵图像;
图28为不同的圆形图像对应的mt4矩阵曲线图;
图29为不同的圆形图像对应的mt6矩阵图像。
具体实施方式
下面结合实施例和说明书附图对本发明做进一步说明,但不限于此。
实施例1
如图1-3所示。
一种圆形图像的特征提取方法,包括步骤如下:
1)输入彩色图像image1,将所述彩色图像image1灰度变换为灰度图像image2;计算灰度图像image2中的所有像素点的灰度平均值ga;所述彩色图像image1为四个边与圆形图像的轮廓外缘相切的正方形图像;灰度变换为图像处理中的常用方法,为所属领域技术人员所熟知。
2)设灰度图像image2中圆形图像的轮廓半径为r,将灰度图像image2缩放为半径为r的标准圆形图像image3;
3)计算标准圆形图像image3的圆心坐标c(xc,yc);图像左上角为坐标原点,则xc=r,yc=r;
4)在标准圆形图像image3上以圆心c为圆心,做w个同心圆,w个同心圆的半径分别记为r1,r2,…,rm,…,rw;相邻同心圆的半径差值σn=2;w=22。
5)在每一个同心圆上,等间距选取若干个样本点;半径为rm的同心圆上采集的样本点数为pm,则同心圆上所选择的样本点数分别为p1,p2,…,pm,…,pw;每个同心圆上的第一个样本点ym0选择在圆心的正右侧,即ym0的y坐标值为r,x坐标值为r+rm,其他样本点以第一个样本点ym0为基准,逆时针编号;第m个同心圆的第n个样本点ymn的x坐标和y坐标分别为:
6)计算ymn坐标的灰度值,存入矩阵,得到w×pw的矩阵mt1;
7)将矩阵mt1的每一行中的pm个元素进行拉伸操作,使每一行的ampm元素拉伸到所在行的最后一列位置,该行中其余位置的元素值按照线性插值方法计算,生成矩阵mt2;
其余位置的元素值按照线性插值方法计算的具体过程如下:
矩阵mt2第m行第u个元素对应矩阵mti中第m行第u0=u×k个元素,其中,缩放系数k=(pm-1)/(pw-1);对u0取整记为v,则矩阵mt2中的m行的第u个元素的值为:f=(u0-v)amv+(1+v-u0)am(v+1);
对u0取整用的方法是直接删除小数点之后的小数。用上述方法遍历矩阵mt1的所有元素位置,求得矩阵mt2;
8)对矩阵mt2二值化处理,得到矩阵mt3;二值化阈值为ga;
二值化公式为:
由于二值化所选阈值为image2中的所有像素点的灰度平均值ga,当图像面临光照变化时,图像中的所有像素均呈现相同的变化趋势及相似的灰度变化大小,因此提取出的特征对光照不敏感。
将矩阵mt2中每一列元素累加,得到一维矩阵mt4;mt4=[d1d2...dpw];
9)查找矩阵mt4内的最小值元素dz;z为最小值元素对应的列号;
10)将矩阵mt3中列号小于z的所有列,平移到矩阵mt3的第pw列之后,得到新矩阵mt6;
mt6即为图像image1的特征矩阵;mt6内的元素为1或0。
实施例2
如实施例1所述的圆形图像的特征提取方法,所不同的是,所述步骤2)中将灰度图像image2缩放为半径为r的标准圆形图像image3的方法为,双线性插值算法,缩放比例为r/r;image3的分辨率为90×90。通过双线性插值算法对图形进行缩放操作为图像处理中的常用方法,为所属领域技术人员所熟知。
实施例3
如实施例1所述的圆形图像的特征提取方法,所不同的是,所述步骤5)中,pm=7×rm。样本数pm的选择,与半径有关系,半径越小,pm越小。
实施例4
如实施例1所述的圆形图像的特征提取方法,所不同的是,所述步骤6)中,采用双线性插值算法计算ymn坐标的灰度值。
实施例5
如实施例1所述的圆形图像的特征提取方法,所不同的是,所述步骤7)中,将矩阵mt1中的每一行中的pm个元素进行拉伸操作,是通过双线性插值算法实现。
实施例6
如实施例1所述的圆形图像的特征提取方法,所不同的是,所述步骤8)中,将矩阵mt2中每一列元素累加,得到一维矩阵mt4的计算方法为:mt4=mt5×mt2,其中,mt5为元素均为1的单行矩阵,列数为w;即mt5=ones(1,w)。
实施例7
如实施例1所述的圆形图像的特征提取方法,所不同的是,所述步骤9)中,当出现连续相同最小值时,选择列号最小的一个元素作为dz。
利用实施例1-7所述圆形图像的特征提取方法分别对未旋转的圆形图像、旋转35°的圆形图像、旋转90°的圆形图像、光照变弱后的圆形图像进行特征提取,如图5-20。通过对比可知,图9、图14、图19的相似度很高,从而证明了特征矩阵mt6具有旋转不变性;通过对比可知,图9、图14、图19、图24的相似度很高,从而证明了提取出的特征对光照不敏感。图25-29为通过利用实施例1-7所述方法对不同的图像(即图25与图5、图10、图15、图20不同)进行特征提取的相关图像,通过对比可知,图29与图9、图14、图19、图24明显不同,证明了方法的有效性,即针对不同的图像的处理结果是不同的。