Укладывать несколько изображений в полупрозрачные слои с помощью Imagemagick?
Что представляет собой простой способ наложения нескольких (~ 10) изображений PNG в виде слоев с одинаковой прозрачностью, составляющей менее 100%, с использованием одного или двух Imagemagick
команды?
Исходные изображения имеют одинаковый размер и не являются прозрачными.
Я попробовал несколько вариантов этого:
composite -dissolve 50 in1.png in2.png -alpha Set out.png
Лучшее, что я мог бы получить, - это одно изображение, сложенное как полупрозрачное против другого, которое является твердым. Нет успеха с подстановочными знаками. Я случайный пользователь Imagemagick
, Я думаю, что я мог бы написать сценарий или простую программу, которая будет делать то, что я хочу для нескольких изображений, но может быть простой способ сделать это в Imagemagick
уже, и это то, что я надеюсь найти.
Изменение изображений было бы хорошо, например, установив альфа на некоторое значение, используя команду, которая принимает подстановочный знак, а затем складывает их.
2 ответа
Есть несколько способов сделать это в Imagemagick, в зависимости от того, чего вы действительно пытаетесь достичь. Использование версии 6.9.9.12 Q16 Mac OSX.
I have corrected the commands to fix a typo in the arguments of the third example and included Xenoid's suggested weights to make the first example below become equivalent to the other two so that each result is the same as averaging the images.
Входное изображение:
Способ 1: использование альфа-канала
convert checks.jpg \( lena2.jpg -alpha set -channel alpha -evaluate multiply 0.5 \) \( zelda3.jpg -alpha set -channel alpha -evaluate multiply 0.3333 \) -flatten result0.png
Метод 2: Равное усреднение (среднее значение -evaluate-sequence)
convert checks.jpg lena2.jpg zelda3.jpg -evaluate-sequence mean result1.png
Метод 3: взвешенное усреднение (-поли)
convert checks.jpg lena2.jpg zelda3.jpg -poly "0.33333,1 0.33333,1 0.33333,1" result2.png
Первое число пары - это вес, а второе число - показатель степени, поэтому здесь оно будет равно 1. Значение 2 будет весить квадраты.
Усреднение было способом сделать это:
convert <file names or pattern> -evaluate-sequence mean averaged.png
Нашел ответ здесь:
http://jamesbritt.com/posts/imagemagick-image-averaging.html