【问题标题】:alternative to VideoCapture::set in opencv在 opencv 中替代 VideoCapture::set
【发布时间】:2015-10-03 06:41:15
【问题描述】:

我一直在编写一个代码,其中我必须为 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 所以,我猜想设置 VideoCapture 属性,即下一帧位置会降低速度。我错了吗?如果没有,有没有其他方法可以获得我想要的输出。

【问题讨论】:

    标签: c++ opencv


    【解决方案1】:

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

    【讨论】:

    • 感谢您的建议
    猜你喜欢
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-20
    • 2014-09-02
    • 2018-04-11
    相关资源
    最近更新 更多