答案1
也许处理图像的最佳工具是 ImageMagick。如果您查看文档,会有大量示例展示如何使用该-distort
功能,我相信这就是您正在寻找的功能。
例子
之前 之后
执行转换的命令行:
$ convert checks.png -filter point
-virtual-pixel tile -mattecolor DodgerBlue
-distort Perspective '0,0 20,60 90,0 70,63 0,90 5,83 90,90 85,88'
horizon_tile_point.png
还有另外两种方法可以进行采样以使生成的图像看起来更好。特别是“网格超级采样”和“椭圆加权区域(EWA)重采样”。后者是默认值。
如何计算坐标?
有 2 个资源可帮助您掌握如何生成一系列坐标convert
。第一个是我上面给出的。第二个是这个 SO Q&A,标题为:了解透视投影失真 ImageMagick, 具体来说@KurtPfeifle 的回答。
坐标如下:
Sx1,Sy1 Dx1,Dy1 Sx2,Sy2 Dx2,Dy2 Sx3,Sy3 Dx3,Dy3 ... Sxn,Syn Dxn,Dyn
- x用于表示X坐标。
- y用于表示Y坐标。
- 1, 2, 3, ... n 用于表示第 1, 2, 3, ... n 个像素。
- 这里使用 S 作为源像素。
- D 在此用于目标像素。