由于奇怪的断言,accumWeight无法使用?

时间:2014-07-14 04:20:33

标签: c++ opencv

累积权重似乎对我来说是矛盾的断言。以下是我的计划的相关部分:

console() << "newImg size : " << newImg.size() << "newImg channels : "  
          << newImg.channels() << "newImg type : " << newImg.type() << endl;

console() << "matsAvg size : " << mMatsAvg.size() << "matsAvg channels : "
          << mMatsAvg.channels() << "matsAvg type : " << mMatsAvg.type() << endl;

cv::accumulateWeighted(newImg, mMatsAvg, 0.3);

输出:

newImg size : [320 x 240] newImg channels : 1 newImg type : 0
matsAvg size : [320 x 240] matsAvg channels : 1 matsAvg type : 5

旁注:这意味着newImg的类型为CV_8UC1,而matsAvg的类型为CV_32F。

我收到以下错误:

OpenCV Error: Assertion failed(CV_ARE_SIZES_EQ(src, dst) && CV_ARE_TYPES_EQ(src, dsl) 
&& CV_MAT_TYPE(src->type == CV_8UC1) in unknown function, 
file ..\..\..\modules\imgproc\src\histogram.cpp, line 2414

这没有任何意义。 accumulateWeighted需要一个8位浮点作为源和一个32位浮点作为目标或该函数不起作用(也就是说,我得到一个失败的断言(func!= 0))。然而,上述断言要求源为8位且目标与源相同。

除非我出错了?

0 个答案:

没有答案