Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 通过非多项式FET方法精确逼近鱼眼透镜畸变?_Image_Computer Vision_Transform_Polynomial Math_Fisheye - Fatal编程技术网

Image 通过非多项式FET方法精确逼近鱼眼透镜畸变?

Image 通过非多项式FET方法精确逼近鱼眼透镜畸变?,image,computer-vision,transform,polynomial-math,fisheye,Image,Computer Vision,Transform,Polynomial Math,Fisheye,我试图近似鱼眼透镜的畸变。我最初使用的是中描述的多项式方法,这对正向变换很有效,但我忘记了我需要某种插值,因此需要反向变换,我需要一个反函数来进行此变换,这证明是有问题的(我使用了非交替幂符号版本,即SUM)(多项式_系数[i]*半径^i)),因此除法模型似乎不合适(如果我尝试使用非交变功率版本,会产生不好的结果,因为我将除以半径)。我通过 及 这是同一篇文章中的特色。我不明白在λ值较低的情况下,你怎么会没有失真,或者我该如何处理标量值。我想在透镜失真为零的情况下测试我的代码,但是这个公式似乎没

我试图近似鱼眼透镜的畸变。我最初使用的是中描述的多项式方法,这对正向变换很有效,但我忘记了我需要某种插值,因此需要反向变换,我需要一个反函数来进行此变换,这证明是有问题的(我使用了非交替幂符号版本,即SUM)(多项式_系数[i]*半径^i)),因此除法模型似乎不合适(如果我尝试使用非交变功率版本,会产生不好的结果,因为我将除以半径)。我通过

这是同一篇文章中的特色。我不明白在λ值较低的情况下,你怎么会没有失真,或者我该如何处理标量值。我想在透镜失真为零的情况下测试我的代码,但是这个公式似乎没有为我提供设置参数的方法对于所有r_未失真和r_失真,当正变换(r_未失真)=r_失真或逆变换(r_失真)=r_未失真时,将不失真到某个值。但在多项式示例中,这是微不足道的

目前我已经实现了该算法,但lambda的值为0,scale的值为1不会导致任何失真(原因很明显),因为1*ln(1-0*x)=0。还将方程更改为,而不是与图像平面(图像中的f)和tan(θ)的距离项,这让我更加困惑。似乎方程中还隐含着另一个变量,允许这样的转换(无转换)发生。如何使用这两个方程来实际控制失真也似乎不直观


简言之,我如何使用这个方程来应用无失真,以及lambda和scalar在物理上意味着什么,它们是做什么的?有没有更好的方法来精确地用逆近似鱼眼变换?

@Yves Daoust你是什么意思?两个单独的配件?@Yves Daoust抱歉,我仍然不明白,目前我使用的是正向变换以获得缩放值,反向变换以进行线性插值以选择最终图像中的颜色值,我不知道如何不使用其中一种或另一种,也不重要,我需要两者。此外,你的回答没有解释你所说的两种不同配件,即短语“两种不同”的含义“新台币配件”对我来说毫无意义,“向前和向后”作为回应让我更加不知所措。
r_distorted = scalar * ln(1 + lambda * r_undistorted)
r_undistorted = (e^(r_distorted/scalar) - 1)/lambda