Нормальная функция в OpenCV

Как я могу легко взять норму массива?

Я попробовал это, и у меня есть ошибка:

ошибка слишком большого числа инициализаторов C2440: «инициализация»: невозможно преобразовать
от ‘cv :: OutputArray (__cdecl *) (void)’ до ‘double’

double DaisyFeature [200];
double DaisyFeature1 [200];

double norm( DaisyFeature , DaisyFeature1 , NORM_L2,noArray);

Я думаю, что проблема заключается в инициализации, но я не знаю, что я должен использовать вместо double DaisyFeature [200];

1

Решение

Документация достаточно ясна о том, как работает Input / OutputArrays. Документацию можно найти Вот.

В основном говорится, что вы можете предположить, что любой алгоритм, реализованный openCV, принимает следующие типы в качестве ввода (и вывода);

cv :: Mat, std :: vector<>, резюме :: Matx<>, резюме :: Vec<> или резюме :: Скаляр

7

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

Используйте std :: vector вместо массивов:

std::vector<double> DaisyFeature(200);
std::vector<double> DaisyFeature1(200);

norm( DaisyFeature , DaisyFeature1 , NORM_L2,noArray);
4

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