我是opencv的新手,所以请帮我解决这个基本查询。我想找到最大值。 Mat变量的值。我试图使用max_element和minMaxLoc,但最终面临错误,因为函数一直说匹配的数据类型是错误的。我一遍又一遍地检查,但没有成功。这是我的代码。 ABS_DST是MAT变量
double *estimate,*min;
CvPoint *minLoc,*maxLoc;
Size s = abs_dst.size();
int rows = s.height;
int cols = s.width;
double imagearray[rows][cols] = abs_dst.data();
minMaxLoc(imagearray,min,estimate,minLoc,maxLoc);
我甚至尝试直接给Mat变量abs_dst。但没有成功。有一个可选的输入掩码数组,我已经忽略了它,因为我不需要它。
答案 0 :(得分:1)
下一步:
Point[] Mat_To_Point = Your_Mat_Variable.toArray();
接下来你可以对数组进行排序
答案 1 :(得分:0)
我想我得到了答案。谢谢你的努力。问题是minMaxLoc没有采用RGB图像阵列,因为它是3通道。我不得不将ABS_DST转换为灰度。
其次,
它不是
CvPoint *minLoc,maxLoc;
它是
Point *minLoc,*maxLoc;
我不需要将它转换为数组,因为转换为Gray Scale会直接给我一个1D通道,足以支持minMaxLoc。我为自己的错误道歉,并再次感谢你的努力。