0

我正在做一个项目。我这里有一个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内部添加cachesum_template. 但是,出现以下错误sum_template += cache.at(i);

该操作既不是“array op array”(其中数组具有相同的大小和相同的通道数),也不是“array op scalar”,也不是函数 arithm_op 中的“scalar op array”

我只是添加Mats。我检查了,cache.at(i)在崩溃之前正确显示,并且它显示的缓存大小为 10。知道这里有什么问题吗?

编辑缓存是类似于结果矩阵 R的矩阵向量, 如下所示

4

0 回答 0