Opencv学习之--进度条控制视频

    xiaoxiao2021-04-17  49

    include “opencv2\opencv.hpp” using namespace std; using namespace cv; int value; double Fps; int framePos; void OnChange(int , void* param) { VideoCapture cap = (VideoCapture)param; cap.set(CV_CAP_PROP_POS_FRAMES, value); //设置视频帧位置 } void main() { char strFps[20]; Mat frame; VideoCapture cap(“1.avi”); if (!cap.isOpened())//打开失败 return; int FrameCount = cap.get(CV_CAP_PROP_FRAME_COUNT);//获取总帧数 namedWindow(“Video”, CV_WND_PROP_AUTOSIZE); createTrackbar(“Frame”, “Video”, &value, FrameCount, OnChange, &cap); Fps=cap.get(CV_CAP_PROP_FPS);//获得视频帧率 sprintf(strFps, “Fps:%1.0f/s”, Fps);//格式化字符串 while (1) { framePos = cap.get(CV_CAP_PROP_POS_FRAMES);//获取视频帧位置 setTrackbarPos(“Frame”, “Video”, framePos);//设置滑动条位置 cap >> frame; if (frame.empty())//取帧失败 break; putText(frame, strFps, Point(5, 30), CV_FONT_HERSHEY_COMPLEX_SMALL, 1, Scalar(0, 255, 0), 1, 8); imshow(“Video”, frame); if(27==waitKey(1000/Fps)) //Esc跳出循环 break; } cap.release(); destroyAllWindows(); }

    转载请注明原文地址: https://ju.6miu.com/read-673232.html

    最新回复(0)