我已经尝试使用cvCaptureFromCAM 2.2,我被告知cv :: Mat将无法使用它

时间:2011-06-28 15:04:44

标签: c++ opencv

如果cvCaptureFromCAM是摄像头捕获的2.0-2.1版本,那么2.2版本是什么?如果这仍然适用于2.2那么为什么我得到错误?感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

问题在于您将OpenCV的C ++接口与C接口混合在一起。选择其中之一并坚持下去。

在C接口上,cvCaptureFromCAM()返回CvCapture*,必须使用cvQueryFrame()通过IplImage*检索帧,并且此函数返回cv::Mat而不是{{1} }}

CvCapture* capture = cvCaptureFromCAM(CV_CAP_ANY);

IplImage* frame = cvQueryFrame(capture);
// ... code to process frame ...

如果您选择C ++界面,请查看Martin给您的参考资料。