Как я могу легко взять норму массива?
Я попробовал это, и у меня есть ошибка:
ошибка слишком большого числа инициализаторов C2440: «инициализация»: невозможно преобразовать
от ‘cv :: OutputArray (__cdecl *) (void)’ до ‘double’
double DaisyFeature [200];
double DaisyFeature1 [200];
double norm( DaisyFeature , DaisyFeature1 , NORM_L2,noArray);
Я думаю, что проблема заключается в инициализации, но я не знаю, что я должен использовать вместо double DaisyFeature [200];
Документация достаточно ясна о том, как работает Input / OutputArrays. Документацию можно найти Вот.
В основном говорится, что вы можете предположить, что любой алгоритм, реализованный openCV, принимает следующие типы в качестве ввода (и вывода);
cv :: Mat, std :: vector<>, резюме :: Matx<>, резюме :: Vec<> или резюме :: Скаляр
Используйте std :: vector вместо массивов:
std::vector<double> DaisyFeature(200);
std::vector<double> DaisyFeature1(200);
norm( DaisyFeature , DaisyFeature1 , NORM_L2,noArray);