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