繁体   English   中英

OpenCV如何获取GLCM灰度共现矩阵

[英]OpenCV how to get GLCM gray-level co-occurrence matrix

我正在尝试在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");
            }

有一个称为CvGLCM的类:

OpenCV-2.3.1a文档

我从来没有用过。

您必须安装scipy,numpy,skimage。 skimage具有模块skimage.feature,其中包括skimage.feature.greycomatrix和skimage.feature.greycoprops,我们可以计算ndarray uint8的greycoimage以及greco属性说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM