reduce(const GpuMat& mtx, GpuMat& vec, int dim, int reduceOp, int dtype=-1, Stream& stream=Stream::Null())
Похоже, что третий параметр dim не работает вообще. Независимо от того, dim = 0 или dim = 1, он только уменьшает входной gpumat до одной строки. Я пробовал оба opencv 2.4.6 и 3.0.0. У обоих из них одна и та же проблема.
Я делаю что-то неправильно?
Это не ошибка. Функция cv::gpu::reduce
сводит матрицу к вектору, а вектор представлен как однорядная матрица. Если dim == 0
dst
будет иметь размер [1 x src.cols]
, если dim == 1
dst
будет иметь размер [1 x src.rows]
.