透视矫正插值公式的几何证明

透视矫正插值公式(Perspective-Correct Interpolation)在计算机图形学书一般很少给出证明,我见到过《3D游戏与计算机图形学中的数学方法》的证明,是用解析几何硬算,过程只是验证结论而已。这里给出两个几何证明。

问题重新描述为:如上图,在三角形ADC中,E在AD上,G在CD上,F为EG中点,DF交AC于B,过D点的虚线//EG;A、B、C到虚线的距离分别为h1、h2、h3, 则 1/h2 是 1/h1+1/h3 的1/2.

一般地,若 EF = kFG,则 (1/h1 - 1/h2) = k(1/h2 - 1/h3).

 

下面来自叶中豪先生简洁明快的证明。叶中豪,国内首屈一指的近代欧氏几何大师,上海十大藏书家。

不怕在叶老师面前班门弄斧,下面也给出我的一个思路:

之所以要给出几何的证明,是因为解析的证明大都只是在验证结论,容易淹没在冗长的代数运算中。而几何的证明更直观,更能使你看到结论的本质所在。透视矫正插值公式很神奇,在3D图形学基础中几乎是个谜,大部分的3D技术书籍都是直接使用结论,很少有人追究它为什么成立,是怎么发现的。期待有人给出更简短更本质的证明。

参考:《来自显卡的几何题》http://forum.cnool.net/topic_show.jsp?id=6285906&oldpage=1&thesisid=494&flag=topic1

转载于:https://www.cnblogs.com/cys12345/archive/2009/03/16/1413821.html

透视畸变矫正的变换算法公式可以通过透视变换的原理来推导得到。根据引用\[2\]中的公式,我们可以得到透视变换的一般公式为: X' = (a11*X + a12*Y + a13) / (a31*X + a32*Y + a33) Y' = (a21*X + a22*Y + a23) / (a31*X + a32*Y + a33) 其中,(X, Y)是原图像平面的坐标点,(X', Y')是变换后的图像平面的坐标点。a11, a12, a13, a21, a22, a23, a31, a32, a33是透视变换的参数,需要通过解方程组得到。 为了进行透视畸变矫正,我们需要选择四个点,分别在原图像和目标图像上,通常选择图片的四个顶点。通过这四个点的坐标,我们可以得到八个方程,即: X'1 = (a11*X1 + a12*Y1 + a13) / (a31*X1 + a32*Y1 + a33) Y'1 = (a21*X1 + a22*Y1 + a23) / (a31*X1 + a32*Y1 + a33) X'2 = (a11*X2 + a12*Y2 + a13) / (a31*X2 + a32*Y2 + a33) Y'2 = (a21*X2 + a22*Y2 + a23) / (a31*X2 + a32*Y2 + a33) X'3 = (a11*X3 + a12*Y3 + a13) / (a31*X3 + a32*Y3 + a33) Y'3 = (a21*X3 + a22*Y3 + a23) / (a31*X3 + a32*Y3 + a33) X'4 = (a11*X4 + a12*Y4 + a13) / (a31*X4 + a32*Y4 + a33) Y'4 = (a21*X4 + a22*Y4 + a23) / (a31*X4 + a32*Y4 + a33) 通过解这八个方程,我们可以求解出透视变换的参数a11, a12, a13, a21, a22, a23, a31, a32, a33。然后,将这些参数代入透视变换的公式,即可进行透视畸变矫正。 #### 引用[.reference_title] - *1* *2* *3* [图像畸变矫正——透视变换](https://blog.csdn.net/weixin_40163266/article/details/113763393)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值