5
Tôi đang làm việc trên một dự án với openCV 2.2. Tôi cần phải xử lý trên mỗi khung của một tập tin AVI nhưng khi tôi chạy mã của tôi nó chỉ lấy khung đầu tiên của tập tin. CV_CAP_PROP_POS_FRAMES dường như không hoạt động. Bất kỳ ý tưởng tại sao không?Chụp khung OpenCV từ AVI
CvCapture* capture = cvCaptureFromAVI("test1.avi");
IplImage *img = 0;
if (!cvGrabFrame(capture)) {
printf("Error: Couldn't open the image file.\n");
return 1;
}
int numFrames = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_COUNT);
int posFrame = 1;
for(int i =0; i <= numFrames; i++){
cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES, i);
posFrame = cvGetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES);
img = cvGrabFrame(capture);
cvNamedWindow("Image:", CV_WINDOW_AUTOSIZE);
cvShowImage("Image:", img);
printf("%i\n",posFrame);
cvWaitKey(0);
cvDestroyWindow("Image:");
}
Tại sao bạn không sử dụng 2.3.1 hoặc 2.4? – Alex
Tôi đã đọc nó với opencv 2.3.1 và vấn đề vẫn tồn tại. –