【问题标题】:OpenCV how to get GLCM gray-level co-occurrence matrixOpenCV如何获取GLCM灰度共生矩阵
【发布时间】:2012-04-30 11:42:19
【问题描述】:

我正在尝试在 OpenCV 中使用 GLCM(图像中的灰度共现矩阵 (GLCM))提取特征。

在 matlab 中我们有graycomatrix。我们在 openCV 中是否有任何用于相同目的的功能?如果没有,那么实现它的最佳解决方案是什么?是否有任何可行的示例?

[编辑]

我试过这段代码,但它给出的值与 matlab 结果相比是错误的

            char rawdata[4][4] = { {0, 1, 2, 3},
           {1, 1, 2, 3},
           {1, 0, 2, 0},
           {0, 0,0, 3}};

           src->imageData = (char*)(&rawdata);

             CvGLCM* glcm;
            glcm = cvCreateGLCM(src, 2, NULL,4, CV_GLCM_OPTIMIZATION_NONE);
            cvCreateGLCMDescriptors(glcm, CV_GLCMDESC_OPTIMIZATION_ALLOWDOUBLENEST);

           for (int step=0; step<4; step++)
            {
                 printf("%.3f,", cvGetGLCMDescriptor(glcm, step, CV_GLCMDESC_CONTRAST));
                  printf("\n");
            }

【问题讨论】:

    标签: c++ matlab opencv matrix glcm


    【解决方案1】:

    有一个类叫CvGLCM:

    OpenCV-2.3.1a documentation

    不过我没用过。

    【讨论】:

    • 我以前用过这个,但没有给出正确的结果,知道为什么吗?
    • 还有什么帮助吗???对我来说解决它真的很重要..我已经用我当前的 GLCM 代码编辑了这个问题,但仍然没有正确的信息。
    • 帮不了你了,我只安装了一个旧版本的 opencv,它没有这个包。我建议你再问一个关于这个问题的编辑部分的问题,人们会更愿意帮助调试代码而不是回答理论问题
    【解决方案2】:

    你必须安装 scipy,numpy,skimage。并且 skimage 有模块 skimage.feature 其中包括 skimage.feature.greycomatrix 和 skimage.feature.greycoprops 在那里我们可以计算 ndarray uint8 的 graycoimage 以及 greco 属性instructions

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-01
      • 2016-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      相关资源
      最近更新 更多