假设您正在拍摄视频(相机处于稳定位置),一只鸟飞过相机的视野。应该可以进行图像分割并自动从视频中删除这只鸟。
这些风格的算法叫什么?它们通常是如何完成的?
假设您正在拍摄视频(相机处于稳定位置),一只鸟飞过相机的视野。应该可以进行图像分割并自动从视频中删除这只鸟。
这些风格的算法叫什么?它们通常是如何完成的?
有一种称为简单图像对象提取 (SIOX)的技术 - 它使用一种技术来识别静止图像和视频图像中的前景与背景对象。开源GIMP编辑器有一个实现,这里有更多关于它的信息。
从概述:
SIOX 代表简单交互式对象提取,是一种从静止图像中提取前景的解决方案,用户交互非常少。SIOX 速度快、抗噪性强,因此也可用于视频分割。它避免了基于图形的分割方法的许多缺点,但在不同的基准测试中表现同样出色。SIOX 是开放和免费的(Apache 许可),作者有意没有为该技术的任何部分申请专利。因此,在过去几年中,它已被集成到几个开源图像处理程序中。SIOX 是 GNU Image Manipulation Program (GIMP) 中前景提取工具的底层算法,是 Inkscape 中跟踪器工具的一部分。SIOX 起源于 E-Chalk,其中站在电子黑板前的讲师被分段。
这是PDF的链接,其中包含有关算法变体如何工作的详细信息。
您应该能够调整它以使用帧间插值通过使用来自周围帧的时间数据从视频的每一帧中删除特定的前景对象。
如果相机是固定的并且场景中没有太多的运动,那么我会建议一种基于背景减法的方法。
第 1 步:计算视频每一帧的背景。有复杂的算法可以做到这一点,但一个非常简单有效的算法是计算图像中每个像素在 3 秒时间窗口内的中值。如果有问题的物体移动缓慢,则更长。顺便说一句,如果您只是执行这种过滤,如果相机是固定的,它将从视频中移除大多数移动对象,因此我之前关于所有对象与一个对象的问题。
第2步:使用画笔工具在每一帧中标记要删除的区域,并用背景像素替换它们。不要使用精细的画笔或套索工具,因为您标记的任何非对象像素都将被过滤后的版本替换。由于边界不是那么重要,因此您可能可以对多个帧使用相同的画笔标记。如果对象是场景中唯一移动的东西,您可以标记整个帧并将其替换为背景。
无论如何,要回答您更一般的问题,您要研究的主题称为图像和视频的修复。关于这个主题有相当多的文献,我所描述的只是一个超级简单的方法,你可以在一个小时左右的时间内用 opencv 实现。