图像的二维射影变换快速算法

发布于 2021-11-07 01:40:28 字数 856 浏览 878 评论 1

有一幅原始图像,有行列号X =[0,Width],Y=[0,Height].

有一幅目标图像,有行列号X' =[0,Width'],Y'=[0,Height'].

有二维射影变换关系(8参数,h11 h12 h13 h21 h22 h23 h31 h32,   h33==1):

X = (h11*X' + h12*Y' + h13)/ (h31*X' + h32*Y' + h33);

Y = (h21*X' + h22*Y' + h23)/ (h31*X' + h32*Y' + h33);

对于每一个X'  Y'可以计算一个X Y,然后再原始图像上重采样灰度值,填到目标图像上。

我想到一种快速算法,就是:

Xt = h11*X' + h12*Y' + h13;

Yt = h21*X' + h22*Y' + h23;

Wt = h31*X' + h32*Y' + h33;

X = Xt / Wt;   Y = Yt / Wt;

如果已知了X' Y'对应的Xt Yt Wt,如果递推X'+1,Y'对应的Xt Yt Wt,只需要加上一个常数。

Xt += h11;

Yt += h21;

Wt += h31;

如果递推X',Y'+1对应的Xt Yt Wt,只需要加上一个常数。

Xt += h12;

Yt += h22;

Wt += h32;

只需要计算0 0点的Xt Yt Wt值,就可以递推了。每个像素只需要3个加法和2个除法。

有没有更好的方法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

成熟的代价 2021-11-12 15:13:34

学习了,不错的教程

 

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文