透视变换的实现以及透视变换矩阵的构造

        透视变换(Perspective Transformation)是什么,无需多说,但是一个非常惨痛的现实是如果你想知道怎么样才能在编程做,你只能得到一些调用opencv函数的文章,简直有病,谁不会调用函数,我搜索实现肯定是要找代码参考看下是怎么实现算法的,你调用函数还敢叫自己“实现”?那我用调用Django的模块是不是实现了后端框架的开发啊?

        言归正传,要了解透视变换的数学原理,请看这个。这篇文章给出了个有小错误的C++实现,但是如果你不是线性代数高手,一开始看肯定云里雾里,不知道他在干嘛。

        这里,我就从这篇文章来讲讲透视变换如何去实现。之后你会发现,后面的数学原理非常基础,但是网络高手都跟你讲云里雾里话,让人痛苦不堪。

        不多说,我们开始。

        下面就是一个基础的变换公式,[x',y',w']是变换后的坐标,[u,v,w]是变换前的坐标,a矩阵是变换矩阵,为什么是3个参数,因为透视变换是3维空间上的变换啊,但是我们一般是处理二维图像,所以源坐标的w恒为1,而目标的坐标我们可以转换为二维的。这个a矩阵的参数各部分有什么意义请参考原文章,可以告诉你的是a33恒为1.

    

如下

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值