如何使用代码将图像拉伸到四边形?

时间:2015-08-04 05:18:20

标签: image-processing language-agnostic

如果我有一个方形图像,4个角的x-y坐标,然后是4个角的x-y坐标的四边形,我怎么知道四边形的每个像素的像素颜色是什么?我基本上想将原始方块拉伸到四边形。

谢谢,有这个算法吗?

1 个答案:

答案 0 :(得分:0)

该算法称为插值,您基本上可以计算从图像到四边形的坐标的代数变换。 然后使用此变换的逆来查找每个四像素,它应该映射到的图像中的哪个位置。这不必是一个整数,所以你必须使用某种过滤(最近邻,或双线性或其他)

https://en.wikipedia.org/wiki/Bilinear_interpolation

示例:

Image 256x256
Map to coords   100,100 - 400,300
xout = x * ((400-100)/256) + 100
yout = y * ((300-100)/256) + 100