我一直在尝试构建一个简单的 OpenCV (iOS) 应用程序,该应用程序从捆绑包中加载视频并查询其帧数、持续时间等,然后它将尝试从中获取各个帧。不幸的是,当我使用VideoCapture
类中,所有属性返回值 1。然后我尝试导航到frame #100
但这也行不通。我这样做的方式不对吗?
cv::VideoCapture capture([[movieURL path] UTF8String]);
if (!capture.isOpened()) {
Log(@"Could not open the video:%@", [movieURL path]);
}
double rate = capture.get(CV_CAP_PROP_FPS);
cv::Mat frame; //current video frame
//Delay between each frame in ms
//corresponds to video frame rate
int delay = 1000/rate;
long numOfFrames = static_cast<long>(capture.get(CV_CAP_PROP_FRAME_COUNT));
Log(@"Video Frame rate:%f, delay:%d, numOfFrames:%ld", rate, delay, numOfFrames);
double position = 100.0;
capture.set(CV_CAP_PROP_POS_FRAMES, position);
long frameNum = static_cast<long>(capture.get(CV_CAP_PROP_POS_MSEC));
Log(@"Moved to Frame 100. Getting frame number:%ld", frameNum);
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)