문제

I am trying to extract features using GLCM (gray-level co-occurrence matrix (GLCM) from image) in OpenCV.

In matlab we have graycomatrix. Does we have any function in openCV for the same purpose? If not, then what is the best solution to achieve it and is there any working example?

[EDIT]

I tried this code but it gives wrong values as compare to matlab result any better solution/function exist in OpenCV or am I doing any mistake in GLCM process?

            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");
            }
도움이 되었습니까?

해결책

There is a class called CvGLCM:

OpenCV-2.3.1a documentation

I have never used it though.

다른 팁

You have to install scipy,numpy,skimage. and skimage has module skimage.feature which include skimage.feature.greycomatrix and skimage.feature.greycoprops there we can calculate greycoimage for ndarray uint8 and also greco properties instructions

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top