我试图在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");
}
答案 0 :(得分:0)
答案 1 :(得分:-1)
你必须安装scipy,numpy,skimage。和skimage有模块skimage.feature,其中包括skimage.feature.greycomatrix和skimage.feature.greycoprops,我们可以计算ndarray uint8的greycoimage以及greco属性instructions