在openv中设置videoccapture::的替代方案

alternative to VideoCapture::set in opencv

本文关键字:方案 videoccapture openv 设置      更新时间:2023-10-16

我一直在编写代码,其中我必须为absdiff()每次迭代取2帧;cp>>frame1; cp>>frame2; absdiff(frame1,frame2,out)Frame1得到0,2,4,6,8,10 ....Frame2得到1,3,5,7,9,11 ....我没有得到frame1和frame2的所有组合。我们把这个进程命名为-1

但是,我需要frame1为0,1,2,3,4,5,6 .....和Frame2为1,2,3,4,5,6,7 ......因此,我使用

 cp.set(CV_CAP_PROPS_POS_FRAMES,cp.get(CV_CAP_PROPS_POS_FRAMES)-1);

设置下一个帧号为frame2而不是frame2+1。现在,我得到了我想要的输出。我得到了frame1和frame2的所有组合。我们称它为过程2但是,PROCESS-2的处理速度几乎是PROCESS-1的1/5所以,我猜设置videoccapture属性,即下一帧位置负责降低速度。我错了吗?如果没有,是否有其他方法可以得到我想要的输出

你没有错。以这种方式重新定位视频非常慢。您最好按顺序读取框架并自己处理配对。