このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
GLCM とプロットの相関からの統計の算出
この例では、一連のグレー レベル同時生起行列 (GLCM) を作成し、それらを基に統計を求める方法を説明します。また、graycoprops
によって返される統計と元の入力イメージとの直接的な関係についても説明します。
イメージをワークスペースに読み取って表示します。この例はトゥルーカラー イメージをグレースケール イメージに変換してから 90 度回転したものです。
circuitBoard = rot90(im2gray(imread("board.tif")));
imshow(circuitBoard)
さまざまの方向と距離のオフセットを定義します。このイメージにはさまざまの形と大きさのオブジェクトが含まれていますが、それらは垂直と水平の方向に並んでいるので、この例では距離が異なるだけの一連の水平オフセットを指定します。
offsets0 = [zeros(40,1) (1:40)'];
GLCM を作成します。オフセットを指定して関数 graycomatrix
を呼び出します。
glcms = graycomatrix(circuitBoard,"Offset",offsets0);
関数 graycoprops
を使用して GLCM から統計を算出します。この例ではコントラストと相関を計算します。
stats = graycoprops(glcms,["Contrast" "Correlation"]);
オフセットの関数として相関をプロットします。
figure, plot([stats.Correlation]); title("Texture Correlation as a function of offset"); xlabel("Horizontal Offset") ylabel("Correlation")
プロットには、オフセットが 7、15、23、30 の位置にピークがあります。入力イメージをよく見ると、イメージ内の特定の縦の要素が 7 ピクセルおきに繰り返されていることがわかります。