Укладывать несколько изображений в полупрозрачные слои с помощью 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

Другие вопросы по тегам