假设我有来自IP摄像机的视频,它具有180度或360度的鱼眼镜头,我想以某种方式去除图像畸变。理想情况下,我将能够选择输入图像的某个矩形区域,并将其去除畸变转换为“正常”外观的输出视频,但也可以将视频转换为某种等距柱面投影或等角立方体贴图投影。输入视频如下所示
我知道两种可能用于此的滤镜
lenscorrect
滤镜 - 我认为这是正确的方法,但我找到的所有示例都仅适用于“轻微”的鱼眼镜头,而且我似乎无法将其正确地应用于具有360度鱼眼镜头的视频,它不能完全去畸变。v360
滤镜。我以为这必须是正确的滤镜,但似乎它是用于360度视频而不是360度鱼眼镜头?我不知道有什么区别,但我无法让它起作用。当我尝试将输入视频映射到等距投影时,输出结果很奇怪,像这样
我是否遗漏了什么?这些滤镜中的任何一个是正确的方法吗?
编辑 -
我一直在尝试使用v360过滤器,并且我认为我已经接近了。我想要做的是将鱼眼输入映射到等距投影输出,因此我尝试了这个:
ffmpeg -i input.mp4 -vf v360=fisheye:equirect:id_fov=360 output.mp4
这应该意味着我的输入是一个具有360度对角视野的鱼眼镜头,我希望我的输出是等距投影,但这就是我得到的结果