概述
在运动物体后面添加图像是一个典型的计算机视觉项目
了解如何使用传统的计算机视觉技术在视频中添加logo
介绍
我的一位同事向我提出了一个挑战——建立一个计算机视觉模型,可以在视频中插入任何图像,而不会扭曲移动的物体。
如你所想,这是一个非常有趣的项目。
众所周知,处理视频是很困难的,因为它们与图像不同,是动态的,我们没有可以轻易识别和跟踪的静态对象,复杂性水平上升了好几个层次——这就需要我们对图像处理技术和计算机视觉技术的把握。
我决定在背景上加个logo。我稍后将详细说明的挑战是在任何给定视频中插入一个不会妨碍对象动态特性的logo。
我使用Python和OpenCV构建了这个计算机视觉系统,并在本文中分享了我的方法。
目录
陈述问题
获取此项目的数据
为我们的计算机视觉项目制定实现计划
在Python中实现这项技术——让我们添加logo!
理解问题陈述
这是一个非常罕见的计算机视觉使用案例,我们将在视频中嵌入一个logo。现在你一定在想-那有什么大不了的?我们可以简单地把标志贴在视频上,对吧?
但是,这个标志可能会隐藏视频中一些有趣的动作。如果标志妨碍了前面的移动物体怎么办?这会看起来很low。
因此,我们必须弄清楚如何在背景中的某个地方添加logo,这样就不会阻止视频中正在进行的主要操作。
下面的视频-左半部分是原始视频,右半部分的logo出现在舞者身后的墙上:
视频:https://youtu.be/L9KsuvO0VMs
这是我们将在本文中实现的想法。
获取此项目的数据
我从pexels.com网站(一个免费的股票视频网站)上获取数据。如前所述,我们的目标是在视频中放置一个标志,使其出现在某个移动对象的后面。
在本项目我使用了OpenCV本身的标志。你也可以使用任何你想要的标志(也许是你最喜欢的运动队伍标识?)。
你可以从这里下载视频和logo。
https://drive.google.com/file/d/1mXJtJOMTZYm-W6rQavdclbBUEuj3JL4v/view?usp=sharing