Main Content

グレー レベルの同時生起行列の作成

GLCM を作成するには、以下のように関数 graycomatrix を使用します。この関数は、強度 (グレー レベル) 値 i のピクセルが強度値 j のピクセルに対して指定された空間関係にある頻度を計算することによって、グレーレベルの同時生起行列 (GLCM) を作成します。既定の設定では、空間関係は関心ピクセルとそのすぐ右 (水平方向の隣) のピクセルと定義されていますが、2 つのピクセルの空間関係に別の定義を指定できます。その結果できる GLCM 内の各要素 (i, j) は、入力イメージで、値 "i" のピクセルが値 "j" のピクセルと指定された空間関係にある数の合計にすぎません。

GLCM のサイズはイメージ内のグレー レベルの数によって決まります。既定の設定では、graycomatrix はスケーリングによってイメージ内の強度値の数を 8 に絞りますが、NumLevels パラメーターと GrayLimits パラメーターによってグレー レベルのスケーリングを制御できます。

グレーレベルの同時生起行列はテクスチャのあるイメージのグレー レベルの空間的分布に関するプロパティを示します。たとえば、GLCM のほとんどのエントリが対角成分に集中している場合、指定されたオフセットに関してテクスチャは粗いです。GLCM から各種の統計尺度を引き出すこともできます。詳細については、GLCM とプロットの相関からの統計の算出を参照してください。

次の図は関数 graycomatrix が GLCM の最初の 3 つの値をどう計算するかを示します。出力 GLCM の要素 (1, 1) には値 1 が格納されます。これは、入力イメージ内で水平方向に隣接する 2 つのピクセルの値がそれぞれ 11 であるインスタンスが 1 つしかないからです。要素 (1, 2) には、値 2 が格納されます。これは、水平方向に隣接する 2 つのピクセルの値が 12 であるインスタンスが 2 つあるからです。要素 (1, 3) の値は 0 です。これは水平方向に隣接する 2 つのピクセルの値が 1 と 3 であるインスタンスは存在しないからです。graycomatrix は入力イメージの処理を続け、他のピクセル ペア (i, j) のイメージのスキャンを続けて GLCM の対応する要素にその総数を記録していきます。

GLCM の作成に使用されるプロセス

A matrix with values ranging from 1 to 8, and its corresponding GLCM. The single pair of adjacent pixels with values 1 and 1 in the matrix are circled with an arrow that points to the (1, 1) element in the GLCM. The two pairs of adjacent pixels with values 1 and 2 in the matrix are circled and have an arrow that points to the (1, 2) element in the GLCM.

参考

関連するトピック