我有一个AVI视频,需要使用OpenCV在C ++中进行处理。问题是OpenCV检测到FrameRate为30,而在Matlab中,VideoReader检测到同一视频文件的FrameRate为60。结果,与Matlab相比,我只能在C ++中提取一半的帧。
我尝试使用cv :: VideoCapture :: set(cv :: CAP_PROP_FPS)在C ++中将FPS设置为60,但不会影响它。我读到它也与VideoCapture后端有关(我的使用FFMPEG)。
由于视频文件根据MATLAB支持,因此有没有办法提高OpenCV中的FPS速率?
就像从程序的单个/主线程中对帧进行“读取”和“处理”一样吗?考虑将帧的读取和处理分离到不同的线程以增加FPS,如https://www.pyimagesearch.com/2017/02/06/faster-video-file-fps-with-cv2-videocapture-and-opencv/
中所示