2015-06-22 76 views
0

概述:与图像的帧置换检测物体(图像处理)

我的视频创作项目。我使用的技术是:imageMagick,php,ffmpeg。

现状:

目前该项目能够创建使用图像和文本和一些基本的转换视频。我这样做的方式是使用imagemagick使用输入图像(在它们中具有转换效果)创建gif,然后将所有gif转换为视频并最终将视频连接在一起。

下一步的行动(我的问题):

我现在设置把它带到一个新的水平。所以,我所拥有的是一个视频(1920x1080),其中有一些白色框架(1280x720),每个框架都不断移动。我想用我想使用的一些图像(1280x720)替换出现在视频的某些帧中的那些白色框。请看这里的图像,你会得到一个想法:这些只是我的视频两帧。如果您能仔细查看图像正在移动(白色空间不是恒定的)。

enter image description here

enter image description here

后市展望:

所以,我想填补这些空白与我自己的形象之一。如果案件只有一帧,我可以使用ffmpeg在确切的宽度和高度上叠加图像。但是,这里的白色空间并不固定,并且在所有的框架中不断移动,并且有很多框架。所以,我正在寻找类似opencv或其他一些技术,可用于视频或一组帧中的对象检测,并将检测到的区域替换为其他图像。

我只是需要一个踢。所以,如果任何人已经研究过这样的东西,只是建议我可以使用什么技术。提前致谢。

回答

1

它都完全取决于你能承担什么:

如果你可以安全地假设你的矩形的边界从来没有遮挡(隐藏)不知何故,你可以尝试寻找在图像边缘(如OpenCV中的Canny边缘)然后查找矩形形状(拐角形成扭曲的矩形或非常流行的霍夫线)。

如果你正在寻找的矩形总是白色的,你可以在像HSV这样的色彩空间中对图像进行阈值处理,以寻找最大值(HSV亮度中的V),然后在二值图像中寻找矩形形状搜索。如果你的角落被遮挡,有时你需要对图像进行一些调整,比如形态学操作(“成长和收缩”二值化阈值图像),然后Hough Lines可以做到这一点。

请注意,这个答案假设一旦你知道矩形的位置,“你完成了”,你只需要用自定义内容覆盖矩形。 我也不检查任何时间连续性:您的视频帧可能会基于矩形的逐帧外观跳转。你必须包含一些关于以前职位的知识。

+0

这当然只是一个快速回顾的想法,你可能需要得到一个“踢”,如你所说^^ – Jiby