这是程序(部分程序):
CvVideoWriter* vidWriterDepth = 0;
在while循环中(从摄像机获取视频帧):
if (vidWriterColored == 0) {
vidWriterDepth = cvCreateVideoWriter("depth_vid", CV_FOURCC('Z', 'L', 'I', 'B'), 30 , cvSize(rawImg1->width, rawImg1->height), 0);
}
...
vidWriterDepth->
在这里,我试图调用vidWriterDepth的方法,但出现错误:
Pointer to incomplete class type is not allowed
(显示vidWriterDepth->)。所以我不能使用vidWriterDepth的任何方法。
没有它,即使创建并初始化vidWriterDepth,它也可以编译。
最佳答案
我想知道,C中有方法吗?
您必须使用类似的功能
cvWriteFrame(vidWriterDepth, FImage);
它称为C接口。 online help中的任意示例。查看
C:
描述VideoCapture::grab
Grabs the next frame from video file or capturing device.
C++: bool VideoCapture::grab()
Python: cv2.VideoCapture.grab() → retval
C: int cvGrabFrame(CvCapture* capture)
Python: cv.GrabFrame(capture) → int