У меня возникает ошибка с подтверждением на последнем кадре при чтении и записи видео по кадре. Ошибки отображаются только на последнем кадре, не знаю почему. увидел этот ответ здесь, который предлагает дать 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;
}