ImageMagick

Thumbinail

Масштабирование всех PNG в маленькие JPG:

mogrify -format jpg -quality 50 -thumbinail 128x96 *.png

BMP -> GIF

конвертируем все BMP в файлы GIF. %02d означает, что файлы GIF будут иметь названия 00.gif, 01.gif, 02.gif, и т.д.

(Если команду писать в BAT файле, то вместо % надо писать %%)

convert pic\*.Bmp gif\%02d.gif

Объединение

Сшить все файлы JPG из каталога 47839 в один файл 47839.jpg в виде одной строки

montage 47839/*.jpg -mode Concatenate -tile x1 47839.jpg

Нарезка

Нарезать большой файл bogomol.jpeg на маленькие кусочки (сто штук)

convert bogomol.jpeg -crop 10%x10% _.jpg

SVG->GIF

Переводим все SVG в GIF размером до 300x200 px

convert *.svg[300x200] %01d.gif

TTF

Создаём картинку и пишем на ней нужным шрифтом. Шрифт лежит рядом.

convert -background #000000 
        -fill #996600 
        -font MagistralTT_BOLD.TTF 
        -pointsize 72 
     label:KINO 
     label.gif

Поля

Разделяем один кадр на два: с первым полем и со вторым полем. (Пример для BAT файла)

convert interlaced.png 
        -sample 100%%x50%% 
        -resize 100%%x200%%  deinterlace_4.png

convert interlaced.png 
        -roll +0+1 
        -sample 100%%x50%% 
        -resize 100%%x200%%  deinterlace_5.png

Масштабируем JPG

BAT: все JPG уменьшаем до размера 800x600 с качеством 80% и сохраняем в каталог pic с названиями, состоящими из символа подчёркивания и одной цифры.

convert *.jpg[800x600] -quality 80%% pic\_%1d.jpg

PNG-scale-JPG

Со всех скриншотов *.png в каталоге сделать превьюшки в 4 раза меньшие оригиналов, со средним качеством и сохранить их в jpeg

convert *.png -scale 25%x25% -quality 60% _.jpg

PNG to JPG

Перевести все PNG в JPEG с тем же именем

mogrify  -format jpg  *.png

Бледная картинка

Для всех JPEG на месте поднимаем чёрный, прибираем шум и повышаем резкость

mogrify -level 16,97% -noise 0.66 -unsharp 1.2 *.jpg

Вставка текста

Обрабатываем на месте все JPEG: масштабируем, сжимаем качество, добавляем текст с тенью и сохраняем в те же файлы.

mogrify -format jpg -quality 70 -scale 800x800 -font arial -pointsize 14 -verbose 
  -draw "fill #369 text 5,18 'illari.ru' fill #9cf text 6,17 'illari.ru' " *.jpg

Поля

Разделение кадра на поля (DOS BAT)

REM Первое поле
convert kadr.png -sample 100%%x50%% -resize 100%%x200%%  field_1.png

REM Второе поле
convert kadr.png -roll +0+1 -sample 100%%x50%% -resize 100%%x200%% field_2.png

Нарезка

Вырезаем из большой картинки фрагмент, и нарезаем его на части (DOS BAT)

REM вырезаем фрагмент
convert  9Sheet1x2.png  -crop 1460x1176+584+0  00/%%04d.tga

REM нарезаем его на карты
convert  00/0000.tga  -crop 146x196  00/02/%%02d.png

Clipboard->file

WIN: Сохраняем графическое изображение из буфера обмена в файл filename.png

convert clipboard: filename.png

save from WEB

Считать картинку из интернета, пропорционально уменьшить до 128px по высоте, и сохранить в текущий каталог под именем 1.jpg

convert http://62.182.141.132/jpg/image.jpg -scale x128 1.jpg

PNG no dither

Сжимаем все PNG в каталоге по размеру до 40%, уменьшаем количество цветов до 32-х и отключаем diffusion

mogrify -scale 40% -colors 32 +dither *.png

Прозрачность

Белый фон на рисунках сделать прозрачным

mogrify -transparent white *.gif
Все GIF`ы становятся прозрачными

ie-clipboard-image

Необходимо сохранить интернет-страницы в отдельные графические файлы (например вопросы теста) Команда пишется в файле farMenu.ini и выполняется по нажатию [F2],[1]. Находясь на странице Internet Explorera, нажимаем [Print Screen], в FAR`e - [F2],[1].

1:  ie-clipboard-image
    perl -e"for(<*.png>){$i++}$i++;`convert Clipboard: -crop 1298x834+0+125 $i.png`"
В каталоге будут создаваться файлы с обрезанными скриншотами.

результат выполнения команды в gif

Необходимо выполнить какую-либо команду, и её результат сохранить в графический файл. Постой пример: сохраним в gif список файлов

ls|convert -background lightblue -fill blue label:@- dir.gif
Появится файл dir.gif, в котором будет список файлов этого каталога.

собрать анимированный GIF из отдельных кадров

Есть отдельные кадры для создания анимации. Необходимо собрать из них анимированный GIF. Зацикленный. Частота 10 кадров в секунду. Каждый кадр анимации должен отображать только то, что было изображено в картинке для этого кадра (не должно оставаться изображений с предыдущих кадров).

convert -dispose background -delay 10 *.gif -loop 0 00\__box.gif
Из всех GIF файлов в текущем каталоге будет собрана анимация и сохранена в каталоге 00 в файл __box.gif

Демотиватор

Создание Демотиватора одной командой.
(ubuntu, можно всё в одну строчку, кодировка utf-8)

convert  foto.jpg -scale 500x \
  -bordercolor '#fff' -border 1 \
  -bordercolor '#000' -border 16 \
  -background '#000' -fill '#eee' -pointsize 32 label:'Заголовок' -gravity center -append \
  -border 5 -pointsize 15 label:'Описание демотиватора' -append \
  -border 16 \
  -bordercolor '#333' -border 1 foto_demotivator.jpg
Фото уменьшится, обводка белой рамкой, отступ, крупный заголовок ниже, белый мелкий текст ещё ниже, всё на чёрном фоне.

Заголовок

Все сфотографированные развороты книги нарезать пополам на отдельные страницы.

mkdir pages
convert IMGP*.JPG -crop 50%x100% pages/page_.jpg
pages/page_0.jpg
pages/page_1.jpg
pages/page_2.jpg
...
pages/page_43.jpg

autocrop для GIF

Имеются GIF файлы, нарезанные с отсканированных книг (изначально JPG). Необходимо по периметру рисунка убрать свободное пространство. Для этого с помощью levels убираем jpeg-шум на рисунке; trim - автокадрируем; repage - размер холста к размеру слоя; и добавляем пару пикселов вокруг.

mogrify -level 8% -trim +repage -bordercolor white -border 2 *.gif
6 секунд и 700 файлов обработаны.

Получить один кадр из видео

Здесь не ImageMagick, а ffmpeg. Есть видеоролик. Из него нужно взять один скриншот размером 360х288 с 10-й секунды.

ffmpeg -i video.avi -an -ss 00:00:10 -r 1 -vframes 1 -s 360x288 -y -f mjpeg screenshot.jpg
Полученный screenshot.jpg можно обработать с помощью ImageMagick.

анимация на фото

На фотографию наложить анимированную секвенцию

convert -delay 0 bg.jpg \
( -dispose previous -delay 10 anim\*.png -repage 0x0+185+150 ) \
 -coalesce -delete 0 -loop 0  animation.gif
-dispose previous - убирать предыдущий кадр анимации
-delay 10 - пауза между кадрами 0.1 сек.
-repage - переместить вставляемые кадры
-coalesce - наложить на bg
-delete 0 - при воспроизведении не обновлять первый кадр
-loop 0 - вечный цикл

Тёмное фото

Отфотографировав книгу получились очень тёмные фотографии - вся гистограмма находится в зоне 0% - 50%

mogrify -level 0,50% *.JPG
Все фотки станут светлыми и гистограмма заполнит диапазон 0% - 100%.

Поднять контраст

Поднимает контраст у изображения и насыщает цвета

mogrify  -channel RGB  -contrast-stretch 1x1%  *.png

Узнать размер

Вывести размер изображения в пикселах

identify -format "%G" example.png
или
identify -format "%wx%h" example.png
1063x591

Подробнее тут:
http://www.imagemagick.org/script/escape.php

Карта

Вырезаю часть карты. Добавляю масштабную линейку, границу.

convert -size 30x30 pattern:checkerboard -auto-level -scale 1280x1280 bg_1km.gif

convert 1111.jpg -gravity SouthEast -crop 1920x2560+800+800 +repage 1111_3x4.jpg
composite -gravity SouthWest  z17_rule.png  1111_3x4.jpg  tmp_0.jpg
convert tmp_0.jpg  -bordercolor '#000' -border 1  tmp_1.jpg
convert 1111_3x4.jpg  -bordercolor '#000' -border 8  -tile-offset -8-8  -tile bg_1km.gif  -draw "color 0,0 reset" tmp_2.jpg
composite -gravity center  tmp_1.jpg  tmp_2.jpg   tmp_3.jpg
convert tmp_3.jpg  -bordercolor '#000' -border 1  -quality 80%  Katanda-West_3x4km_z17.jpg

Заголовок

Описание кода

Код
Результат

Сделать бледную картинку

На фон нужна почти невидимая светлая картинка

mogrify +level 85%,100%,2.0 bg.png

Разложить PDF в отдельные PNG

Один многостраничный PDF надо распаковать на отдельные страницы в формате PNG с разрешением 300 DPI. (По-умолчанию разрешение всего 72 DPI)

convert -density 300 *.pdf page.png
page-0.png, page-1.png, page-2.png, ...

#Редактировать +Добавить