在最后一帧,我一直在读取和写入一个视频帧时,发生了断言失败的错误.错误只显示在最后一帧,不知道为什么.看到这个答案
here,这建议给waitkey,我的代码已经有等待键了.
我的简单代码如下
int main() { CvCapture *capture=cvCaptureFromFile("C:\\vid\\op.mp4"); if(capture==NULL) { printf("can't open video"); } Mat frame,first_frame,current_frame; char buffer[100]; int frame_count=1,p=1; while(1) { /*Getting the current frame from the video*/ frame=cvQueryFrame(capture); cv::cvtColor(frame,current_frame,1); //saving current frame sprintf(buffer,"C:\\frames\\image%u.jpg",p); imwrite(buffer,current_frame); p++; waitKey(1); } return 0; }
有人请帮忙
if(frame.empty()){ fprinf("cannot access frame"); return -1; }