Как мне суммировать изображения? - Фотопедия
1 голос
/ 15 февраля 2017

У меня есть несколько фотографий. Я хочу добавить эти изображения по пикселям (не среднее или медианное). У меня установлен Imagemagick, и я попытался:

composite -compose plus IMG* ~/Desktop/sum.png

А вот выходное изображение

enter image description here

не был заметно ярче, чем входные изображения:

enter image description here

Поскольку у меня 30 входных изображений, я ожидал, что результат будет намного ярче.

Почему это не работает, и как мне суммировать изображения, используя либо Imagemagick, либо другой бесплатный инструмент?

Ответы [ 4 ]

6 голосов
/ 15 февраля 2017

Imagemagick нельзя использовать для создания 30 изображений за один шаг. Документация гласит:

Композиция изображений - это процесс объединения двух (и только двух) изображений. различными способами.

Следующий простой скрипт bash создает черное изображение размером 100x100 (temp.png) и создает все тестовые изображения _ *. Jpg (при условии, что все они имеют размер 100x100) по одному для этого изображения.

convert -size 100x100 canvas:black temp.png
for f in test_*.jpg; do
  composite temp.png "${f}" -compose Plus temp.png
done
3 голосов
/ 15 февраля 2017

Вы можете использовать GIMP .

  1. Откройте 1-е изображение.

  2. Откройте 2-е изображение как слой (Ctrl + Alt + O).

  3. Изменить режим слоя на «Добавление» (Диалог - Слои - Режим).

  4. Открыть следующее изображение как слой.

  5. Изменить режим слоя на «Добавление».

  6. Продолжайте, пока все изображения не будут добавлены.

Вы можете добавлять все изображения одновременно (выбирая их с помощью Ctrl при открытии в качестве слоя), но вам все равно придется менять режим слоя индивидуально для каждого слоя.

Эта процедура также возможна для любого графического редактора, который способен работать со слоями (Paint.net, Photoshop (не бесплатно!) И т. Д.).

2 голосов
/ 02 января 2018

После попытки применить повторную технику composite к изображениям HDR и в конечном итоге с ограниченным выводом, я обнаружил оператор -evaluate-sequence. Вот пример:

convert *.exr -evaluate-sequence Add output.exr

Это берет все файлы .exr (или любой другой формат) в текущем каталоге и суммирует их в новое изображение, output.exr.

Если это не дает должного выхода HDR, возможно, вам необходимо убедиться, что у вас есть версия волшебной картинки , созданная с включенным HDR .

0 голосов
/ 18 февраля 2017

Спасибо asalamon74 за решение с использованием bash-скрипта, который я изменил, чтобы использовать PNG, а не JPEG, как предложил szulat.

convert -size 100x100 canvas:black temp.png

for f in IMG_*.jpg; do
  composite temp.png ${f} -compose Plus temp.png
done

Я проверял, и это работает.

...