我正在将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
答案 0 :(得分:0)
这是一个错误,但现在已经修复。请参阅https://stackoverflow.com/a/31355969/1067003以获取有关错误已修复的评论。
注意:cv::min
存在同等问题。