灰度共生矩阵及matlab实现

更新时间:2023-07-30 14:44:01 阅读: 评论:0

灰度共⽣矩阵及matlab实现
matlab函数: graycomatrix()
功          能:创建灰度共⽣矩阵
Gray-level co-occurrence matrix from an image
图像的灰度共⽣矩阵
灰度共⽣矩阵是像素距离和⾓度的矩阵函数,它通过计算图像中⼀定距离和⼀定⽅向的两点灰度之间的相关性,来反映图像在⽅向、间隔、变化幅度及快慢上的综合信息。
使⽤⽅法:
glcm = graycomatrix(I)
glcms = graycomatrix(I,param1,val1,param2,val2,…)
[glcms,SI] = graycomatrix(…)
描述:
glcms = graycomatrix(I) 产⽣图像I的灰度共⽣矩阵GLCM。它是通过计算两灰度值 i,j 在图像 I 中⽔平相邻的次数⽽得到的 (你也可以通过调整’ Offts’ 参数来指定其它的像素空间关系),GLCM中的每⼀个元素(i,j)代表灰度 i 与灰度 j 在图像 I 中⽔平相邻的次数。
graycomatrix()先将图像 I 归⼀化到指定的灰度级,再计算GLCM;这是因为动态地求取图像的GLCM区间代价过⾼。如果I是⼀个⼆值图像,那么灰度共⽣矩阵就将图像转换到⼆值灰度级(⿊和⽩)。如果I是⼀个灰度图像, 那将转换到8灰度级(默认)。灰度的级数决定了GLCM的⼤⼩尺⼨,假设灰度级为L,则GLCM的尺⼨是L x L。你可以通过设定参数“NumLevels”来指定灰度级数⽬,还可以通过设
置“GrayLimits”参数来设置灰度共⽣矩阵的转换⽅式。
下图在⼀个4x5的图像I中显⽰了如何求解灰度共⽣矩阵,以(1,1)点为例,在图像 I 中⽔平相邻的像素对的灰度值都为1的情况只出现了1次,所以GLCM(1,1)的值是1。,同理,在图像 I 中⽔平相邻的像素对的灰度值分别为 1和2 的情况出现了2次,所以GLCM(1,2)的值是2。 graycomatrix迭代以上过程,就可以计算出GLCM的所有位置(L^2)的取值。
glcms = graycomatrix(I,param1,val1,param2,val2,…) 返回⼀个或多个灰度灰度共⽣矩阵,根据指定的参数对的值。参数可以简写,并且对⼤⼩写不敏感。
参数
下⾯按照字母的顺序列写了参数:
‘GrayLimits’  是两个元素的向量[low,high],指明了图像 I 中的灰度值如何线性归⼀化到灰度级别。低于或等于low的灰度值置成1,⼤于或等于high的灰度值置成NumLevels。如果其设为[],灰度共⽣矩阵将使⽤图像I的最⼩和最⼤灰度值分别作为GrayLimits的low和high,即[min(I(:) , max(I(:)))]。
‘NumLevels’    ⼀个整数,指定灰度级的数⽬。例如,如果NumLevels为8,意思就是将图像I的灰度映射到1到8之间,它也决定了灰度共⽣矩阵的⼤⼩。默认值是8。
‘Offt’  ⼀个p*2的整数矩阵,指定了感兴趣像素对之间的距离和⽅向。矩阵中的每⼀⾏是⼀个两元素的向量,[row_offt ,
col_offt],它指定了⼀对像素之间的关系,或者说是位移。row_offt是感兴趣像素对间隔的⾏的数⽬;col_offt是感兴趣像素对间隔的列的数⽬。offt通常表⽰⼀个⾓度,下⾯列写的offt的值指定了常见⾓度。D代表是当前像素与邻居的距离。
Angle        Offt
0              [0 D]
45            [-D D]
90            [-D 0]
135            [-D -D]
下图说明了数组:offt = [0 1; -1 1; -1 0; -1 -1]
‘Symmetric’  ⼀个布尔型数(逻辑型),指定创建GLCM时像素对中的两像素的顺序是否考虑。例如,当 ‘Symmetric’ 是true 时,graycomatrix计算1连接2的次数时,(1,2)和(2,1)这两种数对都计算在内。当’Symmetric’是fal时,graycomatrix只是计算(1,2)或(2,1).
[glcm,SI] = graycomatrix(….) 返回归⼀化(灰度级的)图像,SI,它被⽤来计算灰度共⽣矩阵(GLCM),SI
图像的取值范围是
[1,NumLevels]。
⽀持类型
I可以是数字型或逻辑型,但必须是⼆维的,实数的,⾮稀疏的矩阵。SI是⼀个double型矩阵,它和I的尺⼨相同。glcms是⼀
个‘NumLevels’ x ‘NumLevels’ x P的double型矩阵,P是offts的数⽬(即‘Offt’参数值的列数)。
说明:
灰度共⽣矩阵(GLCM)的另⼀个名字是灰度空间相关矩阵(gray-level spatial dependence matrix)。另⼀⽅⾯,co-occurrence在⽂献中使⽤时经常不带连字符,即cooccurrence。
如果像素对中的⼀个像素值为NaN,graycomatrix忽略该像素对。
graycomatrix⽤NumLevels值替代positive Inf,⽤1代替negative Inf。
如果边界像素的邻居落在图像边界的外边,graycomatrix忽略该边界像素。
当’Symmetric’设置成’true’时,GLCM 是关于对⾓线对称的,就是Haralick (1973)描述的GLCM。下⾯句法(1)使
⽤’Symmetric’为’true’时创建了GLCM等于句法(2)和句法(3)使⽤’Symmetric’为‘fal’时产⽣的GLCM的和。
graycomatrix(I, 'offt', [0 1], 'Symmetric', true)    (1)
graycomatrix(I,'offt',  [0,1], 'Symmetric', fal)  (2)
graycomatrix(I,'offt',  [0,-1], 'Symmetric',fal)  (3)
微信图像女⽰例:
车位出租合同模板计算灰度共⽣矩阵,并且返回缩放后的图像,SI
I = [ 1 1 5 6 8 8; 2 3 5 7 0 2; 0 2 3 5 6 7];    % ⽣成图像I矩阵
[glcm,SI] = graycomatrix(I,’NumLevels’,9,’G’,[])  % 计算灰度共⽣矩阵(glcm)和归⼀化图像(SI)
计算灰度图像的灰度共⽣矩阵
I = imread(‘circuit.tif’);    % 读⼊circuit.tif图像
glcm = graycomatrix(I,’Offt’,[2 0]);
参考⽂献
Haralick, R.M., K. Shanmugan, and I. Dinstein, “Textural Features for Image Classification”, IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-3, 1973, pp. 610-621.
Haralick, R.M., and L.G. Shapiro. Computer and Robot Vision: Vol. 1, Addison-Wesley, 1992, p. 459.
灰度共⽣矩阵的特征:
⾓⼆阶矩(Angular Second Moment, ASM)
也称为 能量
ASM=sum(p(i,j).^2)    p(i,j)指归⼀化后的灰度共⽣矩阵
⾓⼆阶矩是图像灰度分布均匀程度和纹理粗细的⼀个度量,当图像纹理绞细致、灰度分布均匀时,能量值较⼤,反之,较⼩。
熵(Entropy, ENT)
ENT=sum(p(i,j)*(-ln(p(i,j)))
是描述图像具有的信息量的度量,表明图像的复杂程序,当复杂程序⾼时,熵值较⼤,反之则较⼩。
反差分矩阵(Inver Differential Moment, IDM)
IDM=sum(p(i,j)/(1+(i-j)^2))
反映了纹理的清晰程度和规则程度,纹理清晰、规律性较强、易于描述的,值较⼤;杂乱⽆章的,难于描述的,值较⼩。
******************************************************************************************************************************************************************* *****
*************************************************************  graycomatrix源程序代码
*****************************************************************************
******************************************************************************************************************************************************************
******
[plain]
1.
function [GLCMS,SI] = graycomatrix(varargin)
2.
%GRAYCOMATRIX Create gray-level co-occurrence matrix.
3.
%  GLCMS = GRAYCOMATRIX(I) analyzes pairs of horizontally adjacent pixels
4.
绿色环保食品
%  in a scaled version of I.  If I is a binary image, it is scaled to 2
5.
%  levels. If I is an intensity image, it is scaled to 8 levels. In this
6.
%  ca, there are 8 x 8 = 64 possible ordered combinations of values for
7.
%  each pixel pair. GRAYCOMATRIX accumulates the total occurrence of each
8.
%  such combination, producing a 8-by-8 output array, GLCMS. The row and
9.
%  column subscripts in GLCMS correspond respectively to the first and
10.
%  cond (scaled) pixel-pair values.
11.池神
%
12.
%  GLCMS = GRAYCOMATRIX(I,PARAM1,VALUE1,PARAM2,VALUE2,…) returns one or  13.
%  more gray-level co-occurrence matrices, depending on the values of the
14.
%  optional parameter/value pairs. Parameter names can be abbreviated, and
15.
%  ca does not matter.
16.
假玉%
17.
%  Parameters include:
18.
%
19.
%  ‘Offt’        A p-by-2 array of offts specifying the distance
20.
%                    between the pixel-of-interest and its neighbor. Each
21.
%                    row in the array is a two-element vector,
22.
%                    [ROW_OFFSET COL_OFFSET], that specifies the
23.
%                    relationship, or ‘Offt’, between a pair of pixels.
24.
%                    ROW_OFFSET is the number of rows between the
25.
%                    pixel-of-interest and its neighbor.  COL_OFFSET is the
26.
%                    number of columns between the pixel-of-interest and
27.
%                    its neighbor. For example, if you want the number of
28.
%                    occurrences where the pixel of interest is one pixel
29.
29.
%                    to the left of its neighbor, then
30.
%                    [ROW_OFFSET COL_OFFSET] is [0 1].
31.
%
32.
%                    Becau this offt is often expresd as an angle,
33.
隋朝建立时间%                    the following table lists the offt values that
易者34.
%                    specify common angles, given the pixel distance D.
35.
%
36.
%                    Angle    OFFSET
37.
%                    —–    ——
38.
%                    0        [0 D]
39.
%                    45        [-D D]
40.
%                    90        [-D 0]
41.
%                    135      [-D -D]
42.
%
43.
%                    ROW_OFFSET and COL_OFFSET must be integers.
44.
%
45.
%                    Default: [0 1]
46.
%
47.
%  ‘NumLevels’      An integer specifying the number of gray levels to u when  48.
%                    scaling the grayscale values in I. For example, if
重叠词语
49.
%                    ‘NumLevels’ is 8, GRAYCOMATRIX scales the values in I so
50.
%                    they are integers between 1 and 8.  The number of gray levels
51.
%                    determines the size of the gray-level co-occurrence matrix
52.
%                    (GLCM).
53.

本文发布于:2023-07-30 14:44:01,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1102074.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:灰度   图像   矩阵   像素   指定   计算   灰度级
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图