【问题标题】:How to get the GLCM images to show in Matlab如何让 GLCM 图像在 Matlab 中显示
【发布时间】:2017-07-07 06:05:56
【问题描述】:

我想在 Matlab 中显示图像的 GLCM。到目前为止,我已经尝试过并且只能获得统计数据。

I = imread('cameraman.tif');
glcm1 = graycomatrix(I);
Stats = graycoprops(glcm1);

它会产生统计数据。

统计 =

   Contrast: 0.5006
Correlation: 0.9269
     Energy: 0.1636
Homogeneity: 0.8925

我想要在这里展示这 4 个 GLCM 的图像。

输出该图像应该很简单,但我对这件事很陌生,不知道我错过了什么。

【问题讨论】:

  • imshow(glcm1, [])?
  • 这确实返回了图像的一个非常小的像素。不知道那是什么。 Example Images 按照链接找到“2. 实施的各种 GLCM 纹理措施”部分。我想将原始图像处理为 GLCM 并像这样显示它们。对比度、同质性、熵等……有可能吗?

标签: matlab image-processing matlab-figure feature-extraction glcm


【解决方案1】:

GLCM 不是图像矩阵,它显示矩阵中的像素对,如下图所示

【讨论】:

  • Example Images 我认为 GLCM 可以返回图像。点击链接并找到“2. 实施的各种 GLCM 纹理措施”部分。我想将原始图像处理为 GLCM 并像这样显示它们。对比度、同质性、熵等……有可能吗?
【解决方案2】:

可以通过imagesc展示一张图片的灰度共生矩阵:

I = imread('https://raw.github.com/antimatter15/cameraman/master/cameraman.png');
imshow(I)
M = graycomatrix(I, 'GrayLimits', [0, 255], 'NumLevels', 256, 'Offset', [0 1], 'Symmetric', true);
figure
imagesc(M)
colormap(gray)
graycoprops(M)

显示的 GLCM 对应于“向右一个像素”的偏移量。这个矩阵很大程度上是对角的,这意味着像素的强度是高度相关的。

从上面的GLCM中提取的特征如下:

       Contrast: 518.6036
    Correlation: 0.9335
         Energy: 0.0015
    Homogeneity: 0.3772

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    相关资源
    最近更新 更多