Я работаю над проектом. У меня есть 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);
появляется следующая ошибка:
Операция не является ни "массивом операции массива" (где массивы имеют одинаковый размер и одинаковое количество каналов), ни "массивом операции скаляра", ни "скалярной операцией массива" в функции arithm_op
Я просто добавляю Mat
s. Я проверил, cache.at(i)
правильно отображается перед сбоем, а также показывает размер кеша 10. Есть идеи, что здесь не так??
ИЗМЕНИТЬ кеш представляет собой вектор матриц, аналогичный матрице результатов R как показано здесь
sum_template = sum_template + cache.at(i)
? - person Massa   schedule 05.04.2014Mat::operator=(Mat&)
для копирования... - person Massa   schedule 05.04.2014