opencv消除视频中变化部分

就是给你若干个视频,视频上有不断变化的遮挡物,要求去掉遮挡物。只使用基本函数,不能用 OpenCV 自带的 cv::BackgroundSubtractor 类及其子类来完成任务,希望给个思路。可以加vx给个悬赏

img

img

遮挡物的大小和位置变化吗?

简单的方法就是根据一秒内的视频切分图片,做一个平均化,这样对于遮挡位置随机出现的效果会有很大的改善

按照您所讲的帧率在(10~60),平均化这个方法适用于短期解决这样的问题,如果您想一劳永逸的化,就要建立专门处理这种问题的神经网络,当然,这个也需要人工标注,相对费事费力,而且模型搭建,训练也比较耗时,难度也不小

如果不加入图像补全和调色网络算法,只是简单实用计算机视觉方法,可能更多的就是考虑帧内和帧间的信息。在帧内对图像做差,判断出明显变化区域,甚至加入一些形态学处理,来获得更为鲁棒的变化区域。然后,在帧内寻找相关区域进行补全。(总结为:前后多帧图像做差-得到变化区域;后利用多帧对应区域-采集信息补全)