如何使用ImageMagick交错两幅图像?

如何使用ImageMagick交错两幅图像?,image,graphics,imagemagick,interlacing,Image,Graphics,Imagemagick,Interlacing,我有两张大小相同的图片,分别是image1.png和image2.png。在ImageMagick中,有没有办法通过从image1.png中提取奇数行并与image2.png中提取偶数行来合并这两个图像?当然,请确保交替行透明: # Make red test image convert -size 300x200 xc:red red.png 或者,另一种思考方法是加载两个图像,然后根据行从第一个(u)或第二个(v)中选择像素: convert red.png blue.png -fx

我有两张大小相同的图片,分别是
image1.png
image2.png
。在ImageMagick中,有没有办法通过从
image1.png
中提取奇数行并与
image2.png
中提取偶数行来合并这两个图像?

当然,请确保交替行透明:

# Make red test image
convert -size 300x200 xc:red red.png

或者,另一种思考方法是加载两个图像,然后根据行从第一个(
u
)或第二个(
v
)中选择像素:

convert red.png blue.png -fx 'j%2 ? u : v' result.png

在Windows上,这两个选项显示为:

REM Do Windows style commands
convert red.png ^( blue.png -alpha on -channel A -fx "j%2" ^) -composite result.png


我在Windows上为ImageMagick使用命令提示符,所以我想可能存在一些兼容性问题。第一种方法不起作用。在cmd中使用反斜杠会导致错误。我尝试使用你的替代方法,虽然用我的图像名称替换红色和蓝色,但CPU在几秒钟内增长过100%,这在渲染图像时似乎很正常,但没有输出文件。在Windows上,你需要用双引号替换单引号。您可能还需要在括号和百分号之前加上插入符号(
^
),或者加上两倍的百分号。最后我为您做了一些窗口版本。效果很好谢谢!祝你的项目好运。
convert red.png blue.png -fx 'j%2 ? u : v' result.png
REM Do Windows style commands
convert red.png ^( blue.png -alpha on -channel A -fx "j%2" ^) -composite result.png
REM Windows style
convert red.png blue.png -fx "j%2 ? u:v" result.png