我正在寻找一种简单的方法来生成合成视频以测试计算机视觉软件。
目前我只知道一种针对此需求的工具: ObjectVideo Virtual Video (OVVV)。它是一个HalfLife 2 mod,可以在虚拟世界中模拟相机。
但我正在寻找更开放的(比如开源)和可能的便携式解决方案。一种方法是在十几个开源3D引擎之一上实现所需的功能。但是,如果有人知道已经实现像OVVV那样的库或工具,那将会很棒。
另外,如果你没有一个现成的解决方案:你将如何解决这个问题?
PS:我在这里问的原因是我想尽量减少我在这个问题上的努力。并不是我不知道该怎么做。但我的解决方案需要我投入大量时间。所以我在这里寻找具体的提示......: - )答案 0 :(得分:1)
如果我在你的情况下,我可能会使用POV-Ray,因为它可以用任何语言编写代码来生成.pov文件来提供它。这对于精确的几何形状,光照,纹理和复杂的精确运动非常重要。 POV-Ray可以完全从命令行运行,也可以通过system()调用或等效方式以编程方式运行。
尽管POV-Ray在通常意义上不是开源的,但它是免费的,你可以获得它的来源。
答案 1 :(得分:1)
使用其中一个开源游戏引擎怎么样?如果我没记错的话,Quake引擎现在属于公共领域,它可能足以满足您的需求。
大多数引擎都提供用于AI和对象行为的脚本功能(通常是Lua),但可以轻松提供所需的可编程性。
编辑:以编程方式将噪音/失真和其他后处理效果应用于视频的技巧
用AviSynth编写的简短脚本将提供模糊,失真,对比度/帧速率变化,噪声添加以及许多其他可能的效果。这些效果是逐帧提供的,因此您不需要将输出“渲染”到一个巨大的视频文件进行测试。视频程序将脚本文件视为普通视频,尽管在播放期间需要更多CPU。因此,您可以为您的计算机视觉包提供一堆用于测试的AviSynth脚本,这些脚本可能都来自同一视频源,但会应用不同级别的噪声,模糊等。可以在测试中节省大量时间和磁盘空间!
我认为他们的网站很短暂,但你可以在任何地方找到DL的软件包,因为它是开源的并且被广泛使用。
答案 2 :(得分:0)
我看到Ogre用于此目的。