OpenCV вычисляет ковариационную матрицу только с одним образцом

Я хочу рассчитать среднее значение и ковариационную матрицу образцов. Возможно ли это, даже если размер выборки составляет всего 1? Потому что, когда я делаю:

calcCovarMatrix(descriptor, covar, mean, CV_COVAR_ROWS, CV_32F);

После исполнения covar матрица только 1×1 большая и содержит только 0 в то время как descriptor вектор строки с 390 различными элементами с плавающей точкой

0

Решение

Подумай о том, что средний а также ковариационная значит в этом случае. Если у вас есть только один образец, то:

  1. средняя ваша единственная выборка

  2. на ненулевом расстоянии от среднего значения выборка отсутствует, поэтому ковариация равна нулю.

редактировать Обратите внимание, что если вы хотите рассчитать среднее значение и дисперсию 390 значений с плавающей запятой, вам необходимо использовать CV_COVAR_COLUMNS вместо CV_COVAR_ROWS,

1

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


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