[英]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");
}
您必须安装scipy,numpy,skimage。 skimage具有模块skimage.feature,其中包括skimage.feature.greycomatrix和skimage.feature.greycoprops,我们可以计算ndarray uint8的greycoimage以及greco属性说明
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.