Image processing Imagemagick:在背景上扭曲图像?
我有一个背景图像:Image processing Imagemagick:在背景上扭曲图像?,image-processing,imagemagick,distortion,Image Processing,Imagemagick,Distortion,我有一个背景图像: 和两个透明的PNG图像:和 现在,我想在背景上绘制两幅带有透视失真的图像,如下所示: convert -size 800x600 xc:black \( -size 300x200 xc:red \) -geometry +90+10 -composite result.png 两幅图像的目标坐标按顺时针顺序(从左上角开始)为: 梯度:62129421218383458147548 树:445100765,47698368529396 我不知道如何从一张图像(在本例中
和两个透明的PNG图像:和 现在,我想在背景上绘制两幅带有透视失真的图像,如下所示:
convert -size 800x600 xc:black \( -size 300x200 xc:red \) -geometry +90+10 -composite result.png
两幅图像的目标坐标按顺时针顺序(从左上角开始)为:
梯度:62129
421218
383458
147548
树:
445100
765,47
698368
529396
我不知道如何从一张图像(在本例中为天空背景)开始,然后拍摄另一张图像,并使用透视失真将其绘制到背景中的特定目标坐标。在一个convert命令内,同时对多个图像执行此操作,这让我很烦恼
例如,当我仅从一个图像(渐变)开始并尝试以下操作时:
convert sky.jpg \( gradient.png -alpha set -virtual-pixel transparent \
+distort Perspective "0,0 62,129 255,0 421,218 255,255 383,458 0,255 147,548" \) \
-compose src-over -composite result.jpg
它正确地扭曲(因此坐标相对正确),但它是在左上角绘制的,而不是在我指定的坐标处
另外,我有点不确定我对-compose
和-composite
的使用是否正确(我是从各种IM手册示例中获取的)
另一件我不清楚的事情是:对于256x256图像,我应该使用255,0
和255255
和0255
作为角坐标,还是256,0
和256256
和0256
任何能够阐明这些问题的IM专家?在
-composite
之前添加一个-geometry
,如下所示:
convert -size 800x600 xc:black \( -size 300x200 xc:red \) -geometry +90+10 -composite result.png
在
-composite
前面添加一个-geometry
,如下所示:
convert -size 800x600 xc:black \( -size 300x200 xc:red \) -geometry +90+10 -composite result.png
关键是,在我这样做的现实生活中,坐标是未知的。这意味着我必须添加一个shell脚本,计算四个目标坐标的最小x和y,并为此添加一个几何参数?这是可能的,但我有一种感觉,我把事情复杂化了…?我不确定我是否理解。。。为什么不
convert sky.jpg\(gradient.png-alpha set-虚拟像素透明+扭曲透视“0,0 62129 255,0 421218 255255 383458 0255 147548”\)-几何体+62+129-合成结果.png
在本例中,您可以立即看到62129是我需要在几何体中指定的。但是我需要在四个扭曲坐标都是变量的情况下应用它,比如$x1,$y1
直到$x4,$y4
。所以我事先不知道具体的数字,所以我不知道哪个是最上面/最左边的坐标。我脑子里不清楚,但我会想一想。我想埃里克会在我之前告诉你-他喜欢歪曲事实;-)@emcconville问题是,在我这样做的现实生活中,坐标是未知的。这意味着我必须添加一个shell脚本,计算四个目标坐标的最小x和y,并为此添加一个几何参数?这是可能的,但我有一种感觉,我把事情复杂化了…?我不确定我是否理解。。。为什么不convert sky.jpg\(gradient.png-alpha set-虚拟像素透明+扭曲透视“0,0 62129 255,0 421218 255255 383458 0255 147548”\)-几何体+62+129-合成结果.png
在本例中,您可以立即看到62129是我需要在几何体中指定的。但是我需要在四个扭曲坐标都是变量的情况下应用它,比如$x1,$y1
直到$x4,$y4
。所以我事先不知道具体的数字,所以我不知道哪个是最上面/最左边的坐标。我脑子里不清楚,但我会想一想。我想埃里克会在我之前告诉你-他喜欢歪曲事实;-)@埃姆康维尔