使用 ImageMagick 将图像与蒙版图像合成
Compose image with mask image using ImageMagick
假设我有一些图像 a.jpg
and some other image b.jpg
。
所需的输出 out.jpg
应通过 复制 来自 b.jpg
的所有 非 黑色像素到 a.jpg
, 所有其他像素应保持不变。
我尝试使用 composite
但没有成功。
编辑添加:此处的解决方案可能非常简单和通用,但今后,请记住始终包括您的 ImageMagick 版本以及您正在使用的 OS 或平台。语法上的一些差异使这一点变得很重要。
最简单的情况下,使用 ImageMagick v6,您应该可以做这样的事情...
convert b.jpg -background none -transparent black a.jpg +swap -composite out.jpg
读入 B 图像,将所有纯黑色像素更改为透明,然后读入 A 图像,交换图像以使它们的顺序正确,然后将修改后的 B 图像合成到 A 图像上并写入输出。
您可以在“-transparent”操作之前添加“-fuzz 5%”等模糊值,以扩大选区以包括近乎黑色的像素。
要与 IMv7 一起使用,请将“convert”更改为“magick”。
假设我有一些图像 a.jpg
and some other image b.jpg
。
所需的输出 out.jpg
应通过 复制 来自 b.jpg
的所有 非 黑色像素到 a.jpg
, 所有其他像素应保持不变。
我尝试使用 composite
但没有成功。
编辑添加:此处的解决方案可能非常简单和通用,但今后,请记住始终包括您的 ImageMagick 版本以及您正在使用的 OS 或平台。语法上的一些差异使这一点变得很重要。
最简单的情况下,使用 ImageMagick v6,您应该可以做这样的事情...
convert b.jpg -background none -transparent black a.jpg +swap -composite out.jpg
读入 B 图像,将所有纯黑色像素更改为透明,然后读入 A 图像,交换图像以使它们的顺序正确,然后将修改后的 B 图像合成到 A 图像上并写入输出。
您可以在“-transparent”操作之前添加“-fuzz 5%”等模糊值,以扩大选区以包括近乎黑色的像素。
要与 IMv7 一起使用,请将“convert”更改为“magick”。