0

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

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

[编辑]

我尝试了此代码,但与 matlab 结果相比,它给出了错误的值 OpenCV 中是否存在任何更好的解决方案/功能,或者我在 GLCM 过程中是否犯了任何错误?

            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");
            }
4

2 回答 2

0

有一个类叫做 CvGLCM:

OpenCV-2.3.1a 文档

我从来没有使用过它。

于 2012-04-30T16:01:46.463 回答
-1

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

于 2013-10-24T16:45:10.637 回答