我是Imagemagick / Imagick的初学者,所以请耐心等待。我的问题看起来很简单,但我无法在任何地方找到解决方案或任何帮助。请看下面的图片 - 我试图通过指定所有四个角坐标(以像素为单位)来创建图像。
我看了仿射失真但是这个功能对我来说太复杂了,有时需要一段时间才能执行,当它工作时 - 结果非常不可预测(图像旋转错误,有图像的一部分被删除或错位等。)因此,如果可能的话,我不想使用仿射失真。
当然,如果不能指定每个角落坐标,那么我将非常感谢我应该向哪个方向前进的帮助。我想使用Imagick,但如果这可能更适合GD或类似,我会对此持开放态度。
答案 0 :(得分:0)
如果没有看到源图像,以及预期的结果是什么,我会假设你正在尝试透视失真。这意味着您想要拍摄图像,并将MBR坐标转换为预定义的一组点。
如果我给出了400x400的棋盘图像,并且想要将其扭曲到上面列出的点,则以下ImageMagick命令可以正常工作。
convert -size 400x400 pattern:checkerboard \
-virtual-pixel transparent \
-mattecolor transparent \
-distort Perspective '0,0 50,153 400,0 240,40 0,400 315,355 400,400 336,156' \
distorted_checkerboard.png
-distort Perspective '... point matrix ...'
读取如下
Origin Point => Finial Point
0, 0 => 50,153 (top left)
400, 0 => 240, 40 (top right)
0,400 => 315,255 (bottom left)
400,400 => 336,155 (bottom right)