Halcon 第四章『图像特征和提取』◆第3节:基于图像的纹理特征|灰度共生矩阵

        第3节:基于图像纹理的特征&相关算子

        基于图像纹理特征不是针对像素点进行计算,而是在包含多个像素点的区域进行统计和分析,反映的是物体表面的一些特性,它可以用来反映物体表面灰度像素的排列状况。

        图像的纹理特征一般包括图像的能量、相关性、局部均匀性、对比度等。该特征也与区域的形状有关,也是一种区域特征,具有旋转不变形,但是容易受到光照变化的影响。

        1、灰度共生矩阵原理(初级入门)

        简称:GLCM

        ①点对由任意两个像素点组成的(f1,f2),例如图1中(0,1)、(0,2)、(2,0)都可以构成点对。

图1

        ②最大灰度级:就是图片的最大灰度值。图1中的最大灰度值为2。

        ③灰度共生矩阵:举例图1中灰度值有0、1、2这三种,那么由它产生的点对组合就有3×3种组合,分别是(0,0)、(0,1)、(0,2)、(1,0)、(1,1)、(1,2)、(2,0)、(2,1)、(2,2)这9种点对组合。然后用矩阵来形容如下图2:

图2 灰度共生矩阵

         然后分别在每个方框中,填入对应的组合在图1中出现过的次数,如下图3。

图3

        备注: 此图3涉及的的方向为θ=0°(双向),间距d=1(d≠0,且为整数)。

        ④方向:双向,即在某一个方向下,正反向和反方向都要计算一遍,且必须要符合点对的前后顺序。

以图1和图3为例,其中(0,1)组合有2次出现在这:

正确的读法
错误的读法

        ⑤间距d:图像像素中间间隔。

        ⑥灰度降级:灰度图的范围0~255,这样的共生矩阵计算量非常的大,所以必须灰度降级来减少计算量。

        然而,灰度共生矩阵表达的是一种概率,因此还需要将统计数目归一化城概率,这样得到的才是灰度共生矩阵。该矩阵有如下特性:

        ⑴能量:表示灰度共生矩阵中的元素的平方和。能量值大,表示灰度变化比较稳定,反映了纹理变化的均匀程度。

        ⑵相关性:表示纹理在行或者列方向的相似程度。相关性越大,相似性越高。

        ⑶局部均匀性:反映图像局部纹理的变化量。这个值越大,表示图像局部的变化越小。

        ⑷反差:表示矩阵的值差异程度,也间接表现了图像的局部灰度变化幅度。反差值越大,图像中的纹理深浅越明显,表示图像越清晰;反之,则表示图像越模糊。

        2、Halcon中创建灰度共生矩阵的算子

        Image图像 / Features特征

        创建图像中的共生矩阵

gen_cooc_matrix(Regions, Image : Matrix : LdGray, Direction : )

        Regions:输入参数,输入被计算的区域。

        Image:输入参数,输入的单通道灰度图像。

        Matrix:输出参数,输出的灰度共生矩阵,为real类型。

        LdGray:输入参数,(灰度降级)表示图中灰度值的级数,即有多少种灰度颜色。默认为6,也可以取1~256的整数。

        Direction:输入参数,表示相邻像素的方向。默认为0,范围【0, 45, 90, 135】。

        3、用共生矩阵计算灰度值特征        

        Image图像 / Features特征

        根据灰度共生矩阵来计算能量、相关性、局部均匀性和对比度。

cooc_feature_matrix(CoocMatrix : : : Energy, Correlation, Homogeneity, Contrast)

        CoocMatrix:输入参数,输入要计算的灰度共生矩阵。

        Energy:输出参数,输出灰度的能量值,即纹理变化的均匀值。这个值越大,灰度变化越稳定。【灰度共生矩阵元素值的平方和】

        Correlation:输出参数,输出灰度值的相关性。灰度相关性高,表示纹理在行或者列方向都飞车相似。

        【它度量空间灰度共生矩阵元素在行或列方向上的相似程度,因此,相关值大小反映了图像中局部灰度相关性。当矩阵元素值均匀相等时,相关值就大;相反,如果矩阵像元值相差很大则相关值小。如果图像中有水平方向纹理,则水平方向矩阵的COR大于其余矩阵的COR值。】

        Homogeneity:输出参数,输出局部相同的灰度值(局部均匀性)。

        Contrast:输出参数,输出灰度值的对比度,或者说是灰度值的反差。这个值越大,反差越明显,表示边界越明显。

        【反映了图像的清晰度和纹理沟纹深浅的程度。纹理沟纹越深,其对比度越大,视觉效果越清晰;反之,对比度小,则沟纹浅,效果模糊。灰度差即对比度大的象素对越多,这个值越大。灰度公生矩阵中远离对角线的元素值越大,CON越大。】

        4、计算共生矩阵并导出其灰度值特征   

        Image图像 / Features特征

        生成矩阵并输出矩阵(gen_cooc_matrix与cooc_feature_matrix的合体)

cooc_feature_image(Regions, Image : : LdGray, Direction : Energy, Correlation, Homogeneity, Contrast)

        Regions:输入参数,表示要检查的区域。

        Image:输入参数,输入灰度值图像。

        LdGray:输入参数,灰度降级)表示图中灰度值的级数,即有多少种灰度颜色。默认为6。范围1-8。

        Direction:输入参数,表示相邻灰度点对的计算方向。默认0,范围【0,45,90,135,mean表示各个方向的均值】。

        Energy:输出参数,输出灰度值能量,即纹理变化的均匀性。这个值越大,灰度变化越稳定,纹理的均匀性比较高。【灰度共生矩阵元素值的平方和】

        Correlation:输出参数,输出灰度值的相关性。灰度相关性高,表示纹理在行或者列方向都飞车相似。

        【它度量空间灰度共生矩阵元素在行或列方向上的相似程度,因此,相关值大小反映了图像中局部灰度相关性。当矩阵元素值均匀相等时,相关值就大;相反,如果矩阵像元值相差很大则相关值小。如果图像中有水平方向纹理,则水平方向矩阵的COR大于其余矩阵的COR值。】

        Homogeneity:输出参数,输出局部相同的灰度值(局部均匀性)。

        Contrast:输出参数,输出灰度值的对比度,或者说是灰度值的反差。这个值越大,反差越明显,表示边界越明显。

        【反映了图像的清晰度和纹理沟纹深浅的程度。纹理沟纹越深,其对比度越大,视觉效果越清晰;反之,对比度小,则沟纹浅,效果模糊。灰度差即对比度大的象素对越多,这个值越大。灰度公生矩阵中远离对角线的元素值越大,CON越大。】

参考文献:

杨青—《Halcon机器视觉算法原理与编程实战》

Gray-level Co-occurrence Matrix(灰度共生矩阵)https://blog.csdn.net/GarfieldEr007/article/details/49951005?locationNum=7&fps=1

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值