Я пытался следить за учебниками по opencv, и я неоднократно сталкивался с этой проблемой. Кажется, что для языка C у многих функций есть префикс cv перед ними, а для C++ он немного проще
На данный момент функция: вы можете видеть, что для языка C это cvMoment, а для C++ - его просто Момент.
Я использую Visual Studio 2012 C++, и многие функции C++ подчеркнуты, например, если я набрал Moment, но функции C, похоже, не имеют ошибок, таких как cvMoment.
Это из-за моих включенных файлов? Как я могу узнать, какие файлы включать в каждую функцию?
все opencv-функции в c++ объявлены в пространстве имен cv
. У вас есть два варианта:
пишите cv::
перед каждой функцией, переменной и т.д., например:
cv::Moment();
cv::Mat matrix;
Вы используете пространство имен: положите поверх своего c++ файла:
using namespace cv;
то вам не нужно вводить cv::
для каждого метода
Для получения дополнительной информации об пространствах имен вы можете прочитать здесь