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位且目标与源相同。
除非我出错了?