Путаница с функцией OpenCV calcCovarMatrix

У меня есть наблюдения в векторной форме, и я хочу вычислить ковариационную матрицу и среднее из этих наблюдений в OpenCV, используя calcCovarMatrix:

http://docs.opencv.org/modules/core/doc/operations_on_arrays.html

Мой текущий вызов функции:

calcCovarMatrix(descriptors.at(j).descriptor.t(), covar, mean, CV_COVAR_ROWS);

В то время как descriptors.at(j).descriptor.t() является один матрица с 2 столбцами и 390 строками. Так что мои «случайные величины» — это строки этой матрицы. covar а также mean пустые матрицы.

Функция рассчитывает covar правильно и перенастраивает матрицу 390×390. Но mean это просто матрица с 1 строкой и 2 столбцами. Я не понимаю этого. Я ожидаю матрицу с 1 столбцом и 390 строками (вектор столбца).

Я использую неправильный вариант функции? Если да, как мне использовать правильный вариант в моем случае, я специально указываю на значение для nsamples параметр. Я не знаю двух, какое значение это установить.

2

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]