本文主要是介绍mmcv视频处理,如何遇到异常帧不中断,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景
mmcv读取视频帧如果遇到error,则会直接停止执行。但是,视频后面的内容有时候也十分重要,所以这个时候就需要一种方式可以继续处理后续帧。
处理方法
修改mmcv
的VideoReader
中的__next__
函数,修改为如下:
def __next__(self):if self._iter_num >= self.frame_cnt:raise StopIterationimg = self.read()self._iter_num += 1if img is not None:return imgelse:# raise StopIterationreturn None
同时需要在__init__
中新增一个self._iter_num
属性,初始化为0。
def __init__(self, filename, cache_capacity=10):...self._iter_num = 0
之后继续执行,就不会出现遇到error视频就停止处理的问题了。
这篇关于mmcv视频处理,如何遇到异常帧不中断的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!