cooc_feature_image


转载自:http://blog.csdn.net/lixianjun913/article/details/52228305

灰度共生矩阵
灰度共生矩阵定义为像素对的联合分布概率,是一个对称矩阵,它不仅反映图像灰度在相邻的方向、相邻间隔、变化幅度的综合信息,但也反映了相同的灰度级像素之间的位置分布特征,是计算纹理特征的基础。
设f(x,y)为一幅数字图像,其大小为M×N,灰度级别为Ng,则满足一定空间关系的灰度共生矩阵为:
其中#(x)表示集合x中的元素个数,显然P为Ng×Ng的矩阵,若(x1,y1)与(x2,y2)间距离为d,两者与坐标横轴的夹角为θ,则可以得到各种间距及角度的灰度共生矩阵(i,j,d,θ)。其中元素(i,j)的值表示一个灰度为i,另一个灰度为j的两个相距为d的像素对在角的方向上出现的次数。
在计算得到共生矩阵之后,往往不是直接应用计算的灰度共生矩阵,而是在此基础上计算纹理特征量,我们经常用反差、能量、熵、相关性等特征量来表示纹理特征。
(1) 反差:又称为对比度,度量矩阵的值是如何分布和图像中局部变化的多少,反应了图像的清晰度和纹理的沟纹深浅。纹理的沟纹越深,反差越大,效果清晰;反之,对比值小,则沟纹浅,效果模糊。

(2) 能量:是灰度共生矩阵各元素值的平方和,是对图像纹理的灰度变化稳定程度的度量,反应了图像灰度分布均匀程度和纹理粗细度。能量值大表明当前纹理是一种规则变化较为稳定的纹理。

(3) 熵:是图像包含信息量的随机性度量。当共生矩阵中所有值均相等或者像素值表现出最大的随机性时,熵最大;因此熵值表明了图像灰度分布的复杂程度,熵值越大,图像越复杂。

(4) 相关性:也称为同质性,用来度量图像的灰度级在行或列方向上的相似程度,因此值的大小反应了局部灰度相关性,值越大,相关性也越大。

在halcon中提供了cooc_feature_image算子来计算灰度共生矩阵,

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

Parameters
Regions (input_object) region(-array) → object Region to be examined.
Image (input_object) singlechannelimage → object (byte) Corresponding gray values.
LdGray (input_control) integer → (integer)
Number of gray values to be distinguished ().
Default value: 6
List of values: 1, 2, 3, 4, 5, 6, 7, 8
Direction (input_control) integer → (integer / string)
Direction in which the matrix is to be calculated.
Default value: 0
List of values: 0, 45, 90, 135, ‘mean’
Energy (output_control) real(-array) → (real)
Gray value energy.
Correlation (output_control) real(-array) → (real)
Correlation of gray values.
Homogeneity (output_control) real(-array) → (real)
Local homogeneity of gray values.
Contrast (output_control) real(-array) → (real)
Gray value contrast.
2、 cooc_feature_image ( Regions, Image : : LdGray, Direction : Energy, Correlation, Homogeneity, Contrast ) 计算共生矩阵和推导出灰度特征值 Direction:灰度共生矩阵计算的方向 Energy:灰度值能量 Correlation:灰度值的相关性 Homogeneity:灰度值的均匀性 Contrast:灰度值的对比度

例程:
* Calculate a co-occurrence matrix and derive gray value features thereof 计算共生矩阵和推导出灰度特征值
*
read_image (Image, ‘mreut’)
get_image_size (Image, Width, Height)
dev_close_window ()
dev_open_window (0, 0, Width, Height, ‘black’, WindowID)
dev_display (Image)
dev_set_draw (‘margin’)
* Create a rectangle parallel to the coordinate axes
gen_rectangle1 (Rectangle1, 350, 100, 450, 200)
gen_rectangle1 (Rectangle2, 100, 200, 200, 300)
cooc_feature_image (Rectangle1, Image, 6, 0, Energy1, Correlation1, Homogenity1, Contrast1)
cooc_feature_image (Rectangle2, Image, 6, 0, Energy2, Correlation2, Homogenity2, Contrast2)

通过对两个区域的共生矩阵进行对比分析发现,纹理信息在表征物体是否存在上面还是存在很大的差别。因此在做图像识别时可以将纹理信息纳入到特征量中 形成特征样本库,最后在进行机器学习获得最终正确的分类

优质内容筛选与推荐>>
1、POJ2349+prim
2、linux 定时任务 crontab
3、spring boot 自动装配的实现原理和骚操作,不同版本实现细节,debug 到裂开......
4、一些有特色的国外电子商务网站
5、原来手机还有这样的用途!(尤其是第三种)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号