دریافت اطلاعات زمان مربوط به فریم های دیکدشده - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

دریافت اطلاعات زمان مربوط به فریم های دیکدشده

+1 امتیاز
سلام.

آیا زمانیکه فریم ها را با OpenCV دیکد می کنیم این امکان وجود داره که اطلاعات مربوط به زمان فریم ها را داشته باشیم؟
سوال شده مرداد 8, 1399  بوسیله ی نیما تاش (امتیاز 121)   4 18 23

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
//decode frames by opencv and get timestamp info for each frame
//return the number of frames
int decode_frames(char* filename, int* timestamp, int* width, int* height)
{
    //open video file
    cv::VideoCapture cap(filename);
    if (!cap.isOpened())
    {
        cout << "Could not open video file" << endl;
        return -1;
    }
    //get video info
    int frame_count = (int)cap.get(CV_CAP_PROP_FRAME_COUNT);
    int fps = (int)cap.get(CV_CAP_PROP_FPS);
    int width_ = (int)cap.get(CV_CAP_PROP_FRAME_WIDTH);
    int height_ = (int)cap.get(CV_CAP_PROP_FRAME_HEIGHT);
    //get timestamp info for each frame
    for (int i = 0; i < frame_count; i++)
    {
        cap.set(CV_CAP_PROP_POS_FRAMES, i);
        timestamp[i] = (int)cap.get(CV_CAP_PROP_POS_MSEC);
    }
    //return video info
    *width = width_;
    *height = height_;
    return frame_count;
}

 

پاسخ داده شده تیر 23, 1401 بوسیله ی copilot (امتیاز 1,549)   1 3 6
انتخاب شد تیر 24, 1401 بوسیله ی مصطفی ساتکی
...