graycomatrix
イメージからグレーレベルの同時生起行列を作成
説明
は、イメージ glcms
= graycomatrix(I
)I
からグレー レベルの同時生起行列 (GLCM) を作成します。グレー レベルの同時生起行列の別名は、"グレー レベルの空間依存行列" です。
graycomatrix
は、グレー レベル (グレースケール強度) 値 i のピクセルが値 j のピクセルに水平方向に隣接して出現する頻度を計算することにより GLCM を作成します。その他のピクセルの空間的関係は 'Offsets'
パラメーターで指定することができます。glcm
の各要素 (i,j) は、値 i のピクセルが値 j のピクセルに水平方向に隣接して出現した回数を指定します。
はオプションの名前と値のペアの引数の値に応じて 1 つ以上のグレー レベルの同時生起行列を返します。glcms
= graycomatrix(I
,Name,Value
)
例
入力引数
出力引数
アルゴリズム
graycomatrix
はスケーリングされたイメージから GLCM を計算します。既定の設定では、I
がバイナリ イメージの場合、graycomatrix
はイメージを 2 段階のグレーレベルにスケーリングします。I
が強度イメージの場合、graycomatrix
はイメージを 8 段階のグレーレベルにスケーリングします。graycomatrix
でイメージのスケーリングに使用するグレー レベルの段階数を指定するには 'NumLevels'
パラメーターを使用します。graycomatrix
が値をスケーリングする方法を指定するには名前と値の引数 'GrayLimits'
を使用します。
次の図は graycomatrix
が 4 行 5 列イメージ I
の GLCM の複数の値を計算する様子を示したものです。GLCM の要素 (1,1) には値 1
が格納されます。これは、水平方向に隣接する 2 つのピクセルに値 1
と 1
があるイメージにインスタンスが 1 つしかないからです。GLCM の要素 (1,2)
には値 2
が格納されます。これは、水平方向に隣接する 2 つのピクセルが値 1
と 2
をもつインスタンスが、イメージ内に 2 つあるからです。graycomatrix
は GLCM の値をすべて埋めるまでこの処理を続行します。
ピクセルの組を構成するいずれかのピクセルに NaN
が格納されている場合、graycomatrix
はそのピクセルの組を無視します。また、正の Infs
を値 NumLevels
に置き換え、負の Infs
を値 1
に置き換えます。graycomatrix
は対応する近傍ピクセルがイメージ境界の外側にある場合、境界のピクセルを無視します。
'Symmetric'
が true
に設定された場合に作成される GLCM は対角線に対して対称で、Haralick (1973) によって記述された GLCM と等価です。'Symmetric'
が true
に設定された以下の構文で生成される GLCM について考えてみます。
graycomatrix(I,'offset',[0 1],'Symmetric',true)
この GLCM は以下のステートメントによって生成される 2 つの GLCM の和と等価です。ここで、'Symmetric'
は false
に設定されています。
graycomatrix(I,'offset',[0 1],'Symmetric',false) graycomatrix(I,'offset',[0 -1],'Symmetric',false)
参照
[1] 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.
[2] Haralick, R.M., and L.G. Shapiro. Computer and Robot Vision: Vol. 1, Addison-Wesley, 1992, p. 459.
バージョン履歴
R2006a より前に導入