0

これは私のどこかでの非常に単純な間違いだと確信しています! しかし、Matlab のgraycomatrix関数を使用すると、期待した結果が得られません。私が期待する行列出力の代わりに、常に 8 x 8 (ほぼ) ゼロの行列が得られ、エントリは右下に 1 つ (通常は 16 に等しい) です。デフォルト設定を変更したり、「オフセット」を使用したりしていないので、何が問題なのかよくわかりません。

4

1 に答える 1

4

これは、画像が正規化されていないためです。

画像の範囲は 0 ~ 1 である必要があるため、次のようになります。

I = [1 1 2; 2 2 3; 1 2 5]; %or any other I
glcm = graycomatrix(I/max(I(:))); % or I/255 , but it would not work for this example

仕事をするべきです。

あなたの場合、Matlabは1以上のすべてが1であると解釈するため、共起行列は最大位置に一意の値を与えます。

于 2015-02-17T12:58:49.173 に答える