ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

GLCM とプロットの相関からの統計の算出

この例では、一連の GLCM を作成して、それらを基に統計を求める方法を説明します。また、graycoprops によって返される統計と元の入力イメージとの直接的な関係についても説明します。

イメージをワークスペースに読み取って表示します。この例はトゥルーカラー イメージをグレースケール イメージに変換してから 90 度回転したものです。

circuitBoard = rot90(rgb2gray(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 ピクセルおきに繰り返されていることがわかります。