graycomatrix
イメージからグレーレベルの同時生起行列を作成
説明
は、名前と値の引数の値に基づいて GLCM 計算の特性を調整します。たとえば、名前と値の引数 glcm
= graycomatrix(I
,Name=Value
)Offsets
を使用することで、イメージに対して複数の GLCM を作成できます。
例
入力引数
名前と値の引数
出力引数
アルゴリズム
graycomatrix
はスケーリングされたイメージから GLCM を計算します。既定では、I
がバイナリ イメージの場合、graycomatrix
はイメージを 2 段階のグレー レベルにスケーリングします。I
がグレースケール イメージの場合、graycomatrix
はイメージを 8 段階のグレー レベルにスケーリングします。graycomatrix
でイメージのスケーリングに使用するグレー レベルの段階数を指定するには、名前と値の引数 NumLevels
を使用します。名前と値の引数 GrayLimits
を使用して、graycomatrix
が値をスケーリングする方法を調整できます。
次の図は、graycomatrix
が既定のオフセット [0 1]
を使用して GLCM の最初の 3 つの値を計算する方法を示しています。GLCM の要素 (1, 1) には値 1
が格納されます。これは、入力イメージ内で水平方向に隣接する 2 つのピクセルの値がそれぞれ 1
と 1
であるインスタンスが 1 つしかないためです。GLCM の要素 (1, 2) には、値 2
が格納されます。これは、水平方向に隣接する 2 つのピクセルの値が 1
と 2
であるインスタンスが 2 つあるためです。GLCM の要素 (1, 3) の値は 0 です。これは水平方向に隣接する 2 つのピクセルの値が 1
と 3
であるインスタンスが存在しないためです。graycomatrix
は入力イメージの処理を続け、他のピクセル ペア (i, j) のイメージのスキャンを続けて 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 より前に導入