Opencv 透镜畸变模型与校正模型
是一种畸变模型,将理想位置畸变为相应的真实(畸变)位置:Opencv 透镜畸变模型与校正模型,opencv,image-processing,computer-vision,camera-calibration,Opencv,Image Processing,Computer Vision,Camera Calibration,是一种畸变模型,将理想位置畸变为相应的真实(畸变)位置: x_校正=x_畸变(1+k_1*r^2+k_2*r^4+…) y_校正=y_失真(1+k_1*r^2+k_2*r^4+…) 其中,r^2=x_畸变^2+y_畸变^2在归一化图像坐标中(为简单起见,省略切向畸变)。这也见于Zhang:“一种灵活的摄像机校准新技术”,TPAMI 2000,以及Bouguet的“Matlab摄像机校准工具箱” 另一方面,Bradski和Kaehler:“学习OpenCV”在第376页中介绍了镜头模型作为校正
- x_校正=x_畸变(1+k_1*r^2+k_2*r^4+…)
- y_校正=y_失真(1+k_1*r^2+k_2*r^4+…)
- x_畸变=x_校正(1+k''u 1*r'^2+k''u 2*r'^4+…)
- y_扭曲=y_校正(1+k''u 1*r'^2+k''u 2*r'^4+…)
谢谢你的帮助。我想简单的回答是:它们只是不同的模型,所以它们不应该是彼此的反面。就像你已经写过的,每一个都有自己的优点和缺点
至于可逆性,这取决于多项式的阶数。二阶(二次)多项式很容易反转。第四阶需要做更多的工作,但仍然可以用解析的方法求逆。但是,一旦你加上一个六阶项,你可能就不得不求助于数值方法来求逆,因为在一般情况下,a在解析上是不可逆的。根据泰勒展开式,世界上的每一个公式都可以写成c0+c1*x+c2*x^2+c3*x^3+c4*x^4。。。 目标只是发现常量。
在我们的特殊情况下,表达式必须在x和-x(偶数函数)中对称,因此x、x^3、x^5、x^7中的常数等于零。您可能需要提供这两种方法的更多详细信息,这样我们就不必在5篇论文和书籍中搜索您所谈论的内容。一般来说,这两种方法都有相同的目标。它们纠正了相同的光学像差。因此,我希望他们共享相同或非常相似的多项式谢谢你的评论。我已经添加了方程式。非常感谢你的回答。我同意它们是不同的模型,尽管它们显然有着相同的结构。