Matlab 共现矩阵

Matlab Co-occurrence Matrix

我确定这是我在某个地方犯的一个非常简单的错误!但是当我使用 Matlab 的 graycomatrix 函数时,我没有得到预期的结果。而不是我期望的矩阵输出,我总是得到一个 8 x 8(几乎)零矩阵,右下角有一个条目 - 通常等于 16。我没有更改默认设置或使用 'offset',所以我不太确定是什么问题。

那是因为你的图片没有规范化!

您的图片应在 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 解释所有 avobe 1 都是 1,因此共生矩阵在最大位置给你一个唯一的值。