У меня есть вопросы о цикле for и его возвращаемом значении. Это код C++, и я использую openCV 2.4V.Как обновляется возвращаемое значение «res»? (ConcativeMat Con NN)
Ввод этой функции - максимальное значение 600 изображений с пулом. 600 изображений < < Объединение < < Максимальное количество баллов. Размер матрицы «res» равен 600x128 и vec.size() = 600.
Для меня, в цикле for, res никогда не обновляется, однако возвращаемое значение не является нулем.
Я подозревал
"ptmat.copyTo (подвид)"
, потому что я думал, что не надо линия. Однако, когда я понял это, res не обновлялся (был нулевым, как исходный Mat). Может ли кто-нибудь объяснить, как обновить значение res?
Также почему эта функция называется concatenate ..?
Mat
concatenateMat(vector<vector<Mat> > &vec) {
int subFeatures = vec[0][0].rows * vec[0][0].cols;
int height = vec[0].size() * subFeatures;
int width = vec.size();
Mat res = Mat::zeros(height, width, CV_64FC1);
for (int i = 0; i<vec.size(); i++) {
for (int j = 0; j<vec[i].size(); j++) {
Rect roi = Rect(i, j * subFeatures, 1, subFeatures);
Mat subView = res(roi);
Mat ptmat = vec[i][j].reshape(0, subFeatures);
ptmat.copyTo(subView);
}
}
return res;
}