我正在做一个项目。我这里有一个vector<Mat> cache
. 当我运行此模块时,不知何故我收到了一个奇怪的错误(我已经检查了其他解决方案,但仍然出现):
if(cache.size() == 10)
{
Mat sum_template = Mat::zeros(cache.at(1).size(), cache.at(1).type());
for(int i=0; i<cache.size(); i++)
{
sum_template += cache.at(i);
imshow("sum_template", sum_template); waitKey();
}
}
我想要做的是,将每个Mat
内部添加cache
到sum_template
. 但是,出现以下错误sum_template += cache.at(i);
:
该操作既不是“array op array”(其中数组具有相同的大小和相同的通道数),也不是“array op scalar”,也不是函数 arithm_op 中的“scalar op array”
我只是添加Mat
s。我检查了,cache.at(i)
在崩溃之前正确显示,并且它显示的缓存大小为 10。知道这里有什么问题吗?
编辑缓存是类似于结果矩阵 R的矩阵向量, 如下所示