Mat数据类型变量的最大值

时间:2012-12-25 07:22:03

标签: opencv

我是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。但没有成功。有一个可选的输入掩码数组,我已经忽略了它,因为我不需要它。

2 个答案:

答案 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。我为自己的错误道歉,并再次感谢你的努力。