gpt4 book ai didi

python - 创建相机图像的无失真俯 View

转载 作者:行者123 更新时间:2023-12-05 04:26:00 24 4
gpt4 key购买 nike

我有一个安装在墙上的固定摄像头,可以从某个角度观看矩形草坪。我的目标是获得草坪的未失真、自上而下的 View 。

我有一个来自相机的图像作为 python numpy 数组,看起来像这样:

raw camera image

我将逆矩阵与 skimage.transform.warp 结合使用将图像更正为自上而下的 View :

top down distorted

这很完美,但是相机镜头会引入桶形失真。

另外,我可以使用 skimage.transform.warp_coords 生成的查找表来纠正失真并根据描述的算法传递一个简单的 undistort 可调用函数 here .然后使用 scipy.ndimage.map_coordinates 生成图像:

undistorted camera view

这 2 个过程单独工作,但我如何将它们结合起来以创建一个不失真的自上而下 View ,而不创建中间图像?

我可以通过矩阵运行查找表中的每个点以创建一个新表,但该表很大且内存紧张(Raspberry Pi 零)。

我想将不失真定义为一个矩阵,然后将这两个矩阵组合起来,但据我了解,投影单应性矩阵是线性的,但不失真是非线性的,所以这是做不到的。由于资源限制,我无法使用 OpenCV,而且涉及多个棋盘图像的校准过程不切实际。目前,我通过取 4 个草坪角点并从中生成矩阵来进行校准,效果很好。

我预料到这是计算机视觉中的常见问题,但找不到任何合适的解决方案。

最佳答案

桶形失真是非线性的,但也是平滑的。这意味着它可以通过分段线性近似的集合很好地近似。所以你不需要一个大的、每像素的未失真位移查找表。相反,您可以对它进行子采样(或只是按比例缩小),并对中间像素使用双线性插值。

关于python - 创建相机图像的无失真俯 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73121247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com