首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >灰度共生矩阵opencv2中的灰度共生矩阵

灰度共生矩阵opencv2中的灰度共生矩阵
EN

Stack Overflow用户
提问于 2014-07-21 22:30:28
回答 3查看 7K关注 0票数 1

遗留功能GLCM尚未在opencv2中执行。我使用以下代码:

代码语言:javascript
复制
#import <opencv2/legacy.hpp>

cv::Mat inputIm = [in_image CVMat];
cv::Mat grayIm = [in_image CVGrayscaleMat];

// cv::cvtColor(inputIm, grayIm, cv::COLOR_RGB2GRAY);

// here I get an error: "no matching function..." !!!
CvGLCM* glcm = cvCreateGLCM(grayIm, 1, NULL, 4, CV_GLCM_OPTIMIZATION_LUT);

cvCreateGLCMDescriptors(glcm, CV_GLCMDESC_OPTIMIZATION_ALLOWDOUBLENEST);
double d = cvGetGLCMDescriptor(glcm, 0, CV_GLCMDESC_HOMOGENITY );
double a = 1; double *ave = &a;
double s = 1; double *sd = &s;
cvGetGLCMDescriptorStatistics(glcm, CV_GLCMDESC_ENERGY, ave, sd);

NSLog(@"ave = %f sd = %f", *ave, *sd);

我已经尝试使用命名空间cv::CvGLCM* glcm = cv::cvCreateGLCM(grayIm,.)-但不变:/

对此的任何帮助都是非常感谢的!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-31 15:04:49

最终有帮助的是亚历山大·希什科夫在这里发布的答案:link1

我确实交换了texture.cpp代码,并再次编译了我的opencv框架(在这里解释:link2:特别是,我重新完成了三个.的最后一步)。

为此,我的glcm代码毫无例外地执行,每个glcm-方法提供两个数字.

票数 3
EN

Stack Overflow用户

发布于 2014-07-22 04:59:40

遗留函数cvCreateGLCM以较旧的IplImage*作为输入,因此您需要首先转换cv::Mat映像。

试试这个:

代码语言:javascript
复制
// your input image
cv::Mat grayIm = [in_image CVGrayscaleMat];

// create a legacy image
IplImage pGray = grayIm;

// call function
CvGLCM* glcm = cvCreateGLCM(&pGray, 1, NULL, 4, CV_GLCM_OPTIMIZATION_LUT);
票数 1
EN

Stack Overflow用户

发布于 2018-05-09 23:25:02

我在寻找GLCM“在openCV中实现GLCM特性”时发现了这一点,这得到了14个纹理特征中的12个。

https://github.com/Abello966/opencv-haralickfeatures

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24875929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档