opencv cv :: max behavior意外

时间:2014-05-14 17:25:24

标签: c++ opencv max mat

我正在将cv::max与未初始化的Mat对象一起使用,并且在将未初始化的对象作为第一个参数传递时会发生错误:

Mat a=Mat::ones(2,3, CV_32S);
Mat b;
max(a, b); // 1. OK
max(b, a); // 2. OpenCV Error

错误消息是:

  

OpenCV错误:输入参数的大小不匹配(操作是   既不是'rray op array'(其中数组具有相同的大小和类型),   cv :: binary_op,file中的'array op scalar','scalar op array')   C:\建立\ 2_4_PackSlave-Win32的VC   11-shared \ opencv \ modules \ core \ src \ arithm.cpp,第1021行

我的问题:两个调用不应该具有相同的效果吗理论上?这是一种实施不完善还是我的误解?

编辑:

我在win7 x64上使用vs2012和OpenCV2.4.8 x86

1 个答案:

答案 0 :(得分:0)

这是一个错误,但现在已经修复。请参阅https://stackoverflow.com/a/31355969/1067003以获取有关错误已修复的评论。

注意:cv::min存在同等问题。