【发布时间】:2012-04-30 11:42:19
【问题描述】:
我正在尝试在 OpenCV 中使用 GLCM(图像中的灰度共现矩阵 (GLCM))提取特征。
在 matlab 中我们有graycomatrix。我们在 openCV 中是否有任何用于相同目的的功能?如果没有,那么实现它的最佳解决方案是什么?是否有任何可行的示例?
[编辑]
我试过这段代码,但它给出的值与 matlab 结果相比是错误的
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");
}
【问题讨论】:
标签: c++ matlab opencv matrix glcm