Проблема в том, что вы смешиваете интерфейс C ++ OpenCV с интерфейсом C. Выберите один из них и придерживайтесь его до конца.
В интерфейсе C cvCaptureFromCAM()
возвращает CvCapture*
, который должен использоваться для извлечения кадров через cvQueryFrame()
, а функция this возвращает IplImage*
, а не cv::Mat
.
CvCapture* capture = cvCaptureFromCAM(CV_CAP_ANY);
IplImage* frame = cvQueryFrame(capture);
// ... code to process frame ...
Если вы выбираете интерфейс C ++, проверьте ссылку, которую дал вам Мартин.