Image magic что это за программа

ImageMagick

Имеется ряд интерфейсов между ImageMagick и такими языками программирования, как C/C++, Perl, Java, Python. С ImageMagick создаются динамические изображения для Web страниц.

Установка

Пакет присутствует в хранилище пакетов debian.
Для установки пакета

  • в командной строке: следует выполнить команду # apt-get install imagemagick
  • в графическом режиме: воспользоваться специализированной программой управления пакетами

После установки пакет готов к использованию.

Часто используемые команды

# man ImageMagick — просмотр подсказки по программе # man convert — просмотр подсказки по конкретной утилите

В состав пакета входят утилиты

  • display — просмотр изображений, простой графический редактор
  • convert — осуществление преобразований изображений
  • identify — получение информации о параметрах изображения
  • import — запись образа окна, выбранной области экрана в файл
  • animate — просмотр группы изображений, показ слайд-шоу из файлов
  • montage — создание изображения из нескольких
  • mogrify — трансформация изображения или их последовательности
  • composite — комбинирование, наложение изображений

Утилита display

Утилита display осуществляет просмотр и обработку изображений на всех рабочих станциях с активным X сервером.

IMAGICK BASICS OF CORRECT COMPRESSION OF IMAGES IN PHP


Например она умеет осуществлять загрузку, просмотр, запись, уменьшение/увеличение размеров, вращение и трансформацию, изменение цвета, контрастности, устранение дефектов изображения, операции со слайдами.

Формат вызова программы

# display [options] input-file где [options] .
# display — просмотр файла # display -update 1 — просмотр файла и перерисовка его при изменении через 1 сек # display «vid:*.jpg» — просмотр графических файлов в виде «визуального каталога»

Утилита convert

Утилита convert осуществляет преобразование изображений в командной строке.
Например она умеет осуществлять преобразование форматов, создание анимации, манипуляции над изображениями: вращение, изменение размера, цветовой гаммы, разрешения в точках на дюйм и т.д.

Формат вызова программы

# convert [input-options] input-file [output-options] output-file где [options] могут принимать значения -adaptive-blur geometry adaptively blur pixels; decrease effect near edges -adaptive-resize geometry adaptively resize image with data dependent triangulation. -adaptive-sharpen geometry adaptively sharpen pixels; increase effect near edges -adjoin join images into a single multi-image file -affine matrix affine transform matrix -alpha on, activate, off, deactivate, set, opaque, copy», transparent, extract, background, or shape the alpha channel -annotate geometry text annotate the image with text -antialias remove pixel-aliasing -append объединение последовательности изображений (+ — справа-налево, — — сверху-вниз) -authenticate value decipher image with this password -auto-gamma automagically adjust gamma level of image -auto-level automagically adjust color levels of image -auto-orient automagically orient image -background color цвет фона -bench iterations measure performance -bias value add bias when convolving an image -black-threshold value force all pixels below the threshold into black -blue-primary point chromaticity blue primary point -blue-shift factor simulate a scene at nighttime in the moonlight -blur geometry ослабление шума изображения и уровня детализации (Гауссово размытие ?) -border geometry surround image with a border of color -bordercolor color border color -brightness-contrast geometry improve brightness / contrast of the image -caption string assign a caption to an image -cdl filename color correct with a color decision list -channel type apply option to select image channels -charcoal radius simulate a charcoal drawing -chop geometry remove pixels from the image interior -clamp set each pixel whose value is below zero to zero and any the pixel whose value is above the quantum range to the quantum range (e.g. 65535) otherwise the pixel value remains unchanged. -clip clip along the first path from the 8BIM profile -clip-mask filename associate clip mask with the image -clip-path id clip along a named path from the 8BIM profile -clone index клонирование изображения -clut apply a color lookup table to the image -contrast-stretch geometry improve the contrast in an image by `stretching’ the range of intensity value -coalesce merge a sequence of images -colorize value colorize the image with the fill color -color-matrix matrix apply color correction to the image. -colors value preferred number of colors in the image -colorspace type установка цветового пространства изображения -combine combine a sequence of images -comment string annotate image with comment -compare compare image -compose operator set image composite operator -composite composite image -compress type тип сжатия изображения -contrast enhance or reduce the image contrast -convolve coefficients apply a convolution kernel to the image -crop geometry обрезка изображения -cycle amount cycle the image colormap -decipher filename convert cipher pixels to plain -debug events display copious debugging information -define format:option define one or more image format options -deconstruct break down an image sequence into constituent parts -delay value показ следующего изображения после задержки -delete index delete the image from the image sequence -density geometry horizontal and vertical density of the image -depth value разрядность изображения -despeckle reduce the speckles within an image -direction type render text right-to-left or left-to-right -display server get image or font from this X server -dispose method layer disposal method -distribute-cache port launch a distributed pixel cache server -distort type coefficients distort image -dither method apply error diffusion to image -draw string annotate the image with a graphic primitive -duplicate count,indexes duplicate an image one or more times -edge radius apply a filter to detect edges in the image -emboss radius emboss an image -encipher filename convert plain pixels to cipher pixels -encoding type text encoding type -endian type endianness (MSB or LSB) of the image -enhance apply a digital filter to enhance a noisy image -equalize perform histogram equalization to an image -evaluate operator value evaluate an arithmetic, relational, or logical expression -evaluate-sequence operator evaluate an arithmetic, relational, or logical expression for an image sequence -extent geometry установка размера изображения -extract geometry извлечение области из изображения -family name render text with this font family -features distance analyze image features (e.g. contract, correlations, etc.). -fft implments the discrete Fourier transform (DFT) -fill color color to use when filling a graphic primitive -filter type использовать фильтр когда изменяется размер изображения -flatten flatten a sequence of images -flip переворачивание изображения в вертикальной плоскости (отражение по вертикали) -floodfill geometry color floodfill the image with color -flop переворачивание изображения в горизонтальной плоскости (отражение по горизонтали) -font name render text with this font -format string output formatted image characteristics -frame geometry surround image with an ornamental border -function name apply a function to the image -fuzz distance colors within this distance are considered equal -fx expression apply mathematical expression to an image channel(s) -gamma value уровень гамма-коррекции -gaussian-blur geometry reduce image noise and reduce detail levels -geometry geometry preferred size or location of the image -gravity type horizontal and vertical text placement -grayscale method convert image to grayscale -green-primary point chromaticity green primary point -help вывод на экран параметров запуска программы -identify identify the format and characteristics of the image -ift implements the inverse discrete Fourier transform (DFT) -implode amount implode image pixels about the center -insert index insert last image into the image sequence -intensity method method to generate an intensity value from a pixel -intent type type of rendering intent when managing the image color -interlace type type of image interlacing scheme -interline-spacing value the space between two text lines -interpolate method pixel color interpolation method -interword-spacing value the space between two words -kerning value the space between two characters -label string assign a label to an image -lat geometry local adaptive thresholding -layers method optimize or compare image layers -level value adjust the level of image contrast -limit type value pixel cache resource limit -linear-stretch geometry linear with saturation histogram stretch -liquid-rescale geometry rescale image with seam-carving -list type Color, Configure, Delegate, Format, Magic, Module, Resource, or Type -log format format of debugging information -loop iterations add Netscape loop extension to your GIF animation -mask filename associate a mask with the image -mattecolor color frame color -median radius apply a median filter to the image -metric type measure differences between images with this metric -mode radius make each pixel the ‘predominant color’ of the neighborhood -modulate value vary the brightness, saturation, and hue -monitor monitor progress -monochrome transform image to black and white -morph value morph an image sequence -morphology method kernel apply a morphology method to the image -motion-blur geometry simulate motion blur -negate замена каждого пиксела изображения противоположным (инвертирование цвета) -noise radius add or reduce noise in an image -normalize transform image to span the full range of colors -opaque color change this color to the fill color -ordered-dither NxN ordered dither the image -orient type image orientation -page geometry size and location of an image canvas (setting) -paint radius simulate an oil painting -perceptible set each pixel whose value is less than |epsilon| to -epsilon or epsilon (whichever is closer) otherwise the pixel value remains unchanged. -ping efficiently determine image attributes -pointsize value font point size -polaroid angle simulate a Polaroid picture -poly terms build a polynomial from the image sequence and the corresponding terms (coefficients and degree pairs). -posterize levels reduce the image to a limited number of color levels -precision value set the maximum number of significant digits to be printed -preview type image preview type -print string interpret string and print to console -process image-filter process the image with a custom image filter -profile filename add, delete, or apply an image profile -quality value уровень сжатия JPEG/MIFF/PNG (качество изображения) -quantize colorspace reduce image colors in this colorspace -quiet suppress all warning messages -radial-blur angle radial blur the image -raise value lighten/darken image edges to create a 3-D effect -random-threshold low,high random threshold the image -red-primary point chromaticity red primary point -regard-warnings pay attention to warning messages. -region geometry apply options to a portion of the image -remap filename transform image colors to match this set of colors -render render vector graphics -repage geometry size and location of an image canvas -resample geometry change the resolution of an image -resize geometry изменение размеров изображения -respect-parentheses settings remain in effect until parenthesis boundary -roll geometry roll an image vertically or horizontally -rotate degrees вращение изображения -sample geometry scale image with pixel sampling -sampling-factor geometry horizontal and vertical sampling factor -scale geometry масштабирование изображение -scene value image scene number -seed value seed a new sequence of pseudo-random numbers -segment values segment an image -selective-blur geometry selectively blur pixels within a contrast threshold -separate separate an image channel into a grayscale image -sepia-tone threshold simulate a sepia-toned photo -set attribute value set an image attribute -shade degrees shade the image using a distant light source -shadow geometry simulate an image shadow -sharpen geometry sharpen the image -shave geometry shave pixels from the image edges -shear geometry slide one edge of the image along the X or Y axis -sigmoidal-contrast geometry increase the contrast without saturating highlights or shadows -smush offset smush an image sequence together -size geometry ширина и высота изображения -sketch geometry simulate a pencil sketch -solarize threshold negate all pixels above the threshold level -splice geometry splice the background color into the image -spread radius displace image pixels by a random amount -statistic type geometry replace each pixel with corresponding statistic from the neighborhood -strip strip image of all profiles and comments -stroke color graphic primitive stroke color -strokewidth value graphic primitive stroke width -stretch type render text with this font stretch -style type render text with this font style -swap indexes swap two images in the image sequence -swirl degrees swirl image pixels about the center -synchronize synchronize image to storage device -taint mark the image as modified -texture filename name of texture to tile onto the image background -threshold value threshold the image -thumbnail geometry create a thumbnail of the image -tile filename tile image when filling a graphic primitive -tile-offset geometry set the image tile offset -tint value tint the image with the fill color -transform affine transform image -transparent color make this color transparent within the image -transparent-color color transparent color -transpose flip image in the vertical direction and rotate 90 degrees -transverse flop image in the horizontal direction and rotate 270 degrees -treedepth value color tree depth -trim trim image edges -type type image type -undercolor color annotation bounding box color -unique-colors discard all but one of any pixel color. -units type the units of image resolution -unsharp geometry sharpen the image -verbose print detailed information about the image -version print version information -view FlashPix viewing transforms -vignette geometry soften the edges of the image in vignette style -virtual-pixel method access method for pixels outside the boundaries of the image -wave geometry alter an image along a sine wave -weight type render text with this font weight -white-point point chromaticity white point -white-threshold value force all pixels above the threshold into white -write filename write images to this file

  • ImageMagick Convert Command-line Tool: Convert
  • Конвертирование *.jpeg файлов в другое разрешение в Linux
  • Linux / Unix Command: convert
Читайте также:
Федеральная программа что это значит

Утилита identify

Утилита identify получает информацию о параметрах изображения.

ImageMagick Introduction

Формат вызова программы

Источник: tdkare.ru

Основные команды ImageMagick

-family fontFamily -style fontStyle Any, Italic, Normal, Oblique -weight fontWeight Thin Same as fontWeight = 100. ExtraLight Same as fontWeight = 200. Light Same as fontWeight = 300. Normal Same as fontWeight = 400. Medium Same as fontWeight = 500. DemiBold Same as fontWeight = 600.

Bold Same as fontWeight = 700. ExtraBold Same as fontWeight = 800. Heavy Same as fontWeight = 900. -kerning value the space between two letters. -stretch fontStretch

Наложение

C:ImageMagickcomposite -geometry +50+50 blue.png test.jpg norm.png C:ImageMagickconvert test.jpg -draw «image SrcOver 50,50 32,32 blue.png» norm.png

Создание GIF-анимации

C:ImageMagickconvert -delay 100 C:/ImageMagick/1/img_*.png tests.gif C:ImageMagickconvert -delay 100 -resize x480 C:/ImageMagick/1/img_*.png tests2.gif C:ImageMagickconvert -delay 300 -resize x480 C:/ImageMagick/1/img_*.png tests2.gif

Преобразование GIF-анимации в отдельные кадры

C:ImageMagickconvert tests2.gif desr.png
C:ImageMagickconvert tests2.gif desr_%06d.png

Основные команды ImageMagick

Помощь сайту

Yandex-деньги: 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

Источник: xn--e1akicaccic2c.xn--p1ai

Блог про LibreOffice

Пакетная обработка изображений — одновременное автоматическое выполнение операций над множеством графических файлов.

Существует много программ способных справиться с этой задачей, но далеко не все программы обладают достаточной гибкостью.

Моим излюбленным инструментом является программа ImageMagick вкупе с языком программирования Python.

Преимущества ImageMagick

ImageMagick — свободный и многоплатформенный пакет программ для неинтерактивной (пакетной) обработки графических файлов. Поддерживает множество форматов изображений и позволяет изменять их размеры, кадрировать, изменять наклон, менять цветовую схему и т.д.

  • Бесплатность
  • Многоплатформенность (Linux, Mac OS X и др. UNIX-подобные, Windows, iOS)
  • Широкий набор возможностей
  • CLI-интерфейс (да-да именно это одно из основных преимуществ, но есть и графическая оболочка)
  • Наличие интерфейсов для различных языков программирования (Python, Php, Perl и др.)

Во-первых, из-за отсутствия навороченного графического интерфейса(GUI) программа потребляет меньше ресурсов. Во-вторых, это позволяет встраивать программу в собственные скрипты, что и мы и сделаем дальше.

Установка ImageMagick

В большинстве Linux-дистрибутивов ImageMagick установлен по умолчанию, либо имеется в стандартных репозиториях.

В Ubuntu(и других Debian-based дистрибутивах) для установки нужно выполнить в терминале команду:
sudo apt-get install imagemagick

В RedHatFedora:
sudo yum install imagemagick

Основные команды

ImageMagick включает в себя ряд утилит командной строки для работы с изображениями — animate, compare, composite, conjure, convert, display, identify, import, mogrify, montage и stream.

Команд и возможностей много, поэтому опишу только те, что использую чаще всего.

Информация об изображении

Для получения информации об изображении используется утилита identify.
identify example.png

При вызове без аргументов она выдает такой результат:
example.png PNG 1063×591 1063×591+0+0 8-bit DirectClass 114KB 0.000u 0:00.000

Вызов утилиты с опцией -verbose выдает полную информацию об изображении:
identify -verbose example.png
Image: example.png
Format: PNG (Portable Network Graphics)
Class: DirectClass
Geometry: 1063×591+0+0
Resolution: 118.11×118.11
Print size: 9.00008×5.00381
Units: PixelsPerCentimeter
Type: TrueColorAlpha
Endianess: Undefined
Colorspace: sRGB
Depth: 8-bit
.
Оставшаяся часть вывода опущена

Если нужно получить какие-то конкретные параметры, то нужно использовать опцию -format, который может принимать разные атрибуты (полный список атрибутов приведен здесь — www.imagemagick.org/script/escape.php)

Так, например, если требуется узнать только размер изображения, необходимо ввести следующую команду:
identify -format «%G» example.png

Атрибут «%G» возвращает значения ширины и высоты в пикселях. Вывод будет следующим:
1063×591

Чтобы узнать только цветовую схему изображения, применяется атрибут «%r»:
identify -format «%r» example.png
DirectClass sRGB Matte

Атрибуты можно комбинировать. Например для получения размеров изображения в дюймах нужно ввести такую команду:
identify -format «%[fx:w/72] на %[fx:h/72] дюймов» example.png
14.7639 на 8.20833 дюймов

Изменение размера изображений

За данную функцию отвечает утилита convert. Чтобы изменить размер изображения, используется команда convert -resize ШИРИНАхВЫСОТА:
convert -resize 500×400 example.png out.png

Проведем проверку результатов:
identify -format «%G» example.png
1063×591

identify -format «%G» out.png
500×400

Чтобы пропорционально изменить размер, необходимо указывать только один из параметров. Уменьшим пропорционально ширину изображения:
convert -resize 600x example.png out.png

identify -format «%G» example.png
1063×591

identify -format «%G» out.png
600×334

Можно задавать значения в процентах. Значения меньше 100% уменьшают размеры, больше — увеличивают:
convert -resize 50% example.png out.png
convert -resize 150% example.png out2.png
identify -format «%G» example.png
1063×591

Читайте также:
Пререквизиты программы что это

identify -format «%G» out.png
532×296

identify -format «%G» out2.png
1595×887

Изменение цветовой схемы(модели) изображения

Для перевода изображения из одной цветовой модели в другую используется команда:
convert -colorspace GRAY example.png out.png

identify -format «%r» example.png
DirectClass sRGB Matte

identify -format «%r» out.png
DirectClass Gray Matte

В качестве параметров -colorspace можно указывать аббревиатуру любой цветовой модели: GRAY, OHTA, RGB, Transparent, XYZ, YCbCr, YIQ, YPbPr, YUV или CMYK.

Изменение контрастности изображенияДля изменения контрастности используются опции -contrast и +contrast. Первая понижает контрастность, вторая повышает. Команда будет выглядеть следующим образом:
convert +contrast example.png example.png

Команду можно записывать и таким образом
convert example.png +contrast example.png

Обязательно надо указывать исходное и конечное изображение. В примере я указал одно и то же изображение example.png, поэтому исходное изображение просто перезаписалось с новыми параметрами.

Пакетная обработка изображений с разной ориентацией

Все хорошо, программа отлично справляется с пакетной обработкой изображений одной ориентации. Но что делать если в папке лежат файлы с разной ориентацией (портретной или альбомной)?

Вот тут и вступает в силу одно из преимуществ ImageMagick. Для решения этой задачи я написал скрипт на Python, который взаимодействует с ImageMagick.

Скачать скрипт и подробное руководство — https://github.com/DmitryBowie/magick_py

  • Получает имена всех изображений в папке
  • Передает эти имена программе identify
  • Получает обратно значение ширины и высоты изображения
  • Сравнивает эти значения
  • И если высота больше ширины, то скрипт просит convert пропорционально изменить высоту изображения. Если ширина больше высоты, то пропорционально изменяется ширина.
  • Все остальное описано в руководстве по скрипту.

Самое замечательное, что скрипт можно адаптировать под практически любые задачи, достаточно только поменять команды, передаваемые ImageMagick.

Заключение

В заключение хочу еще раз повториться. ImageMagick мощный инструмент и я описал только малую часть того, что он умеет. Не каждая программа может похвастаться таким функционалом.

Источник: librerussia.blogspot.com

ImageMagick

В этой статье предлагаю познакомиться с ImageMagick — замечательным инструментом для редактирования изображений. Первоначально созданный для Linux этот пакет набрал популярность и прешел на другие платформы, включая Windows и Android. При пакетной обработке, когда нужно изменить несколько тысяч изображений, у ImageMagick нет конкурентов.

Что это такое

ImageMagick представляет из себя комплект из нескольких программ, которые запускаются из командной строки. Здесь нет привычного графического интерфейса, все манипуляции с изображением делаются посредством выполнения консольной программы (в данном контексте программы у которой нет графического интерфейса) с набором параметров. Например, чтобы поменять яркость изображения нужно выполнить команду:

convert -modulate [значение яркости] файлнавходе.jpg файлнавыходе.jpg

herbs
Оригинальное изображение herbs1
Яркость увеличена на 30%

Чтобы добавить резкости изображению запустите:

convert-unsharp 1.5×1.2+1.0+0.10 файлнавходе.jpg файлнавыходе.jpg

flower
Оригинальное изображение
flower1
Результат работы фильтра повышения резкости А если захотите повысить цветовую насыщенность:

convert -modulate 100,150,100 файлнавходе.jpg файлнавыходе.jpg

dragonflies
Оригинальное изображение
dragonflies1
Насыщенность поднята в 1.5 раза ImageMagick поддерживает большинство графических форматов, так что с конвертацией проблем не должно возникнуть.
Как и весь софт, который приводится на этом сайте, ImageMagick является бесплатным, что при всей его мощности является немаловажным плюсом. Но самое главное его преимущество кроется в его консольности, то есть вы можете запускать его в пакетном режиме для обработки любого количества файлов. Имея командную строку и ImageMagick вы можете творить просто чудеса с изображениями даже при полном отсутствии графического интерфейса в системе. Выше я привел несколько примеров его работы, более подробно об этом буде сказано дальше.

Для чего нужен

Для ImageMagick можно придумать множество областей применения. Вот список, где чаще всего можно увидеть ImageMagick:

  • Для обработки большого набора фотограийЭто самый часто используемое свойство ImageMagick, которое приводят на разных сайтах в Internet. Типа у вас есть 100500 фоток и чтобы их слегка изменить (яркость добавить, резкость придать изображению, текст наложить) вот тут ImageMagick и сгодится. В принципе все это верно и ImageMagick справится с этим, но с этим справятся и другие бесплатные программы.
  • Для покадрового кодирования видеоА вот это уже интереснее. Иногда нужно обработать видео, а фильтр для обработки у вас есть для изображения, а не для видеопотока. Вот тут можно поступить следующим способом. Разложить видео на отдельные кадры. Покадрово обработать и собрать заново. Вот для покадровой обработки ImageMagick окажется весьма кстати.
  • Для систем видеонаблюдения/умный домСейчас становится популярной идея умного дома. Сделать фото и отправить на мобильный, чтобы можно было проконтролировать издали, «а как там, пока хозяин в командировке». Центральный миникомпьютер умного дома (чаще всего на нем установлен Linux) собирает фото с видеокамер, ImageMagick обрабатывает (цветокорреция, изменение размера изображение, добавление титров) и отправляет хозяину.
  • Для обработки графики на web серверахНу тут вроде бы понятно, пользователи присылают фото, ImagMagick на web сервере меняет им размер и добавляет текст, например.
  • Для написания всяческих интернет пауковДопустим вы человек ленивый и вам даже лень серфить по инету в поисках интересных картинок. Вы написали скрипт на Perl’е, который закачивает на диск фото с разных сайтов, как-то их меняет, опять же с помощью ImageMagick и отправляет вам в архиве на почту. А вы с телефона этот архив забираете и смотрите фотографии. Ну мало ли какие фотографии и с каких веб сайтов :-)Естественно, поле деятельности для ImageMagick гораздо шире, чем я тут привел. Опять же научные исследования, ведь ImageMagick первоначально разрабатывался для науки. История создания ImageMagick уходит в 1980 год, когда для компании DuPont, работавшей в области химии потребовалось рисовать на экране с 256 цветами изображения глубиной 24 бита (миллионы цветов). Так что история создания ImageMagick довольно богатая и не стоит пренебрегать возможностями этой программы, только потому что она работает из командной строки и не имеет своего GUI (Graphical User Interface -графический интерфейс).

Установка

ImageMagick можно скачать с официального сайта. Там вы найдете инсталляционный пакет для любых систем (Windows, Linux, MacOS). Так же доступны для скачивания пакеты оптимизированные для работы с глубиной изображения 8-bit и 16-bit.

Инструменты

Теперь перейдем к конкретному рассмотрению инструментов пакета ImageMagick.

animate

animate

Предположим у вас есть набор файлов, которые являются кадрами некоего процесса с движением. Вам хочется быстренько оценить видео.

Для этого запускаем animate:

animate *.png

и смотрим видео в котором быстро проигрываются png файлы.

Точно так же можно посмотреть анимационный gif:

animate video.gif

compare

Этот инструмент позволяет сравнить два изображения. Разницу записать в третье изображение и по необходимости в текстовом виде в файл.

изображение 1 изображение 2 разница

Помимо визуального сравнения утилита compare позволяет выразить различия между изображениями в числовом виде:

compare -verbose -metric mae img1.tiff img2.tiff difference.png img1.tiff TIFF 128×128 128×128+0+0 8-bit TrueColor sRGB 65.9KB 0.000u 0:00.000 img2.tiff TIFF 128×128 128×128+0+0 8-bit TrueColor sRGB 65.9KB 0.000u 0:00.000 Image: img1.tiff Channel distortion: MAE red: 621.481 (0.00948319) green: 304.309 (0.00464346) blue: 612.916 (0.0093525) alpha: 0 (0) all: 384.676 (0.00586979) img1.tiff=>difference.png TIFF 128×128 128×128+0+0 8-bit sRGB 43c 911B 0.010u 0:00.010

composite

Здесь наоборот, мы из двух изображений склеиваем одно:

composite -gravity center img_digits.png img2.png composite.png

изображение 1 изображение 2 объединение

conjure

Эта утилита является обработчиком командного языка ImgaeMagick MSL (Magick Scripting Language), который представляет из себя обычный XML файл с командами и параметрами для этих команд для обработки изображений в пакете ImageMagick. Это экзотическая команда и по неопытности туда лазить не надо.

convert

Название говорит само за себя. Эта программа конвертирует изображение из одного офрмата в другой, попутно изменяя его при помощи различных команд.

display

Программа для показа изображений.

После выполнения команды:

display ImageMagick.jpg

появляется окно с картинкой:

display

identify

Позволяет получить информацию о графическом файле.

identify -verbose img_0405.png

import

Позволяет сделать screenshot экрана.

import screen.png

Изображение экрана запишется в файл screen.png

mogrify

Делает все тоже самое, что и convert, но результат работы программы записывается в тот же файл.

mogrify -resize 50% foto.jpg

montage

Склеивает несколько изображений в одно.

montage red_square.png green_square.png blue_square.png montage.png

+ + =

stream

Это команда позволяет извлекать из оригинального изображения фрагменты и записывать их на диск в цифровом виде для последующей обработки. Это актуально при работе с большими изображениями, например спутниковые снимки, панорамы или сканы с форматных фотопленок. Команда stream извлекает данные в виде сырых RGB компонент, то есть информация не теряется при перегонке в другие цветовые пространства.

Кроссплатформенность

ImageMagick есть для Windows, UNIX, MacOs. Мало того библиотеки ImageMagick через специальный API доступны для всех современных языков программирования.

Что умеет

Итак, давайте подитожим, какие возможности пользователю предоставляет ImageMagick.

  • Преобразование форматов поддерживает все известные форматы и позволяет конвертировать из одного формата в другой
  • Редактирование изображений изменение размера, вращение, обрезка, отражение
  • Прозрачность можно сделать часть изображения прозрачным
  • Рисование можно рисовать и добавлять текст поверх изображения
  • Рамки и границы можно добавлять рамки и границы
  • Спецэффекты размытие, усиление резкости, изменение оттенка
  • Анимация создание анимаионных gif
  • Заметки красивый текст поверх изображения
  • Полная инфа об изображении вся необходимая информация о самом изображении
  • Композитинг накладывание изображений друг на друга с различными эффектами
  • Монтаж комбинация одного изображения из нескольких
  • Правка перспективы правка искажений в изображении
  • Морфинг изменение формы исходного изображения под воздействием предопределенного шаблона
  • Границы определение границ изображения
  • Motion picture инструмент для работы с форматами изображениями (кадрами) из киноиндустрии (например IMAX)
  • Математика возможно применение математических формул, например для описания формы кривых светокоррекции
  • Connected component labeling служит для определения однородных областей на изображении
  • Discrete Fourier transform преобразование Фурье в модификации исходного изображения
  • Perceptual hash новый способ поиска схожих изображений
  • Color management корректная работа с цветовыми профилями
  • HDR поддержка HDR изображений (с широким световым охватом)
  • Кодирование изображений по ключу если у вас есть пароль, то сможете раскодировать изображение
  • Virtual pixel метод анализа приграничных пикселов
  • Поддержка изображений больших размеров чтение/запись из/в гигапиксельных и даже терапиксельных изображений
  • Многопоточность/многоядерность позволяет использовать преимущество многопроцессорных систем
  • Distributed pixel cache алгоритм позволяющий обрабатываит изображение на нескольких компьютерах (актуально для гигапиксельных и больше изображений)
  • Heterogeneous distributed processing позволяет работать с изображением на CPU и GPU одновременно
  • ImageMagick для iPhone представьте себе есть версия для iPhone и iPad
Читайте также:
Программа альфред что это

Фильтры и опции

imagemagick_options

Imagemagick имеет большое количество встроенных фильтров и опций, бессмысленно здесь описывать их, для этого существует документация но официальном сайте. Я просто приведу здесь скриншот экрана со списком всех опций, чтобы, так сказать понять всю глубину глубин ImageMagick

Довольно внушительный список.

Заключение

Эта ознакомительная статья не раскрывает полный потенциал этой программы, но как отправную точку в мир консольных программ по работе с графикой эту статью можно рассматривать. ImageMagick мощнейший пакет графических программ раскрывающий себя полностью особенно на серверной стороне WEB приложений. И самое главное, он абсолютно бесплатен.

Источник: andreyv.ru

Пакетная обработка изображений в Windows с ImageMagick. Часть I

ImageMagick — свободный и кроссплатформенный редактор для работы с графикой.
Он состоит из нескольких консольных утилит. Его возможностей не счесть, как звезд на небе.
В сети есть множество примеров, как пользоваться им. Но большинство из них для Linux или PHP. Для Windows же их кот наплакал. Настало время восполнить пробел.

Вначале была установка

Есть версии много ImageMagick. Если машина уже не молода и памяти не больше 1024 Мбайт — вам уготована Q8. Иначе, загружайте Q16.

Во время установки, отметьте чекбоксы:

Таким образом, мы получим весь комплект утилит и добавим их в системную переменную path.

Пакетное сжатие и ресайз PNG и JPG с помощью ImageMagick

Ресайз и сжатие выполняют две утилиты ImageMagick:
mogrify.exe — изменяет исходное изображение.
convert.exe – на основе исходного, создает новое, измененное изображение.

JPG. Основные опции ImageMagick для сжатия и ресайза

-quality 80 — уровень сжатия (80 приблизительно равен 60 в Adobe Photoshop)
-filter Lanczos — фильтр Ланцоша.
-gaussian-blur 0.05 — размытие по Гауссу.
Параметры: Радиус × Сигма в пикселях. Сигма — это стандартное отклонение от нормального распределения Гаусса. Небольшое размытие уменьшает размер, но снижает качество при масштабировании изображения.
-sampling-factor 4:2:0 — цветовая субдискретизация.
Значение 4:2:0 уменьшает разрешение канала цветности до половины. Применяется только если параметр -quality меньше чем 90. Параметр -sampling-factor определяет коэффициенты выборки, которые будут использоваться кодером JPEG, для понижающей дискретизации цветности. Если этот параметр опущен, библиотека JPEG будет использовать собственные значения по умолчанию. Рекомендуется использовать его вместе с параметром -define jpeg:dct-method=float, что дает небольшое улучшение качества, без увеличения размера файла, поскольку использует более точное дискретное косинус-преобразование с плавающей запятой.
-unsharp 0x3+1+0 — придает ощущение большей четкости изображения.
Значения: Радиус× Сигма+усиление+порог.
Радиус — радиус гауссова размытия в пикселях, не считая центральный пиксель (по умолчанию 0). Для приемлемых результатов радиус должен быть больше сигмы. Если он не задан или установлен на ноль, ImageMagick рассчитает максимально возможный радиус, который даст приемлемые результаты для распределения Гаусса.
Сигма — стандартное отклонение гауссова размытия в пикселях (по умолчанию 1.0). Является важным аргументом и определяет фактическое количество размытия, которое будет иметь место.
Усиление — величина разницы между оригинальным и размытым изображением, которое добавляется обратно в оригинал (по умолчанию 1.0).
Порог — величина количественной разницы между изображениями (по умолчанию 0,05).
— colorspace RGB — цветовое пространство RGB.
-interlace Plane — используется если нужен прогрессивный JPEG.
-strip — удаление всех метаданных (exif, цветовой профиль и т.п.).
-resize — изменяет размер изображения в пикселях.
-thumbnail — опция похожая на -resize. Помимо реcайза, удаляет также и метаданные изображения. Говорят, что работает быстрее и качественнее, чем -resize.

Важно понимать, что нет «лучших» настроек. Применение одинаковых настроек ко всем изображениям, не даст лучших результатов. Некоторые изображения будут выглядеть размытыми, или наоборот, слишком резкими. Поэтому нужно выбрать «средние» параметры, которые вам подойдут.

Примеры использования параметра -thumbnail:

Ресайз по ширине 100px, с сохранением соотношения сторон (высота изменится пропорционально):

convert img.jpg -thumbnail 100x img1.jpg

Ресайз по высоте 150px, с сохранением соотношения сторон (ширина изменится пропорционально).

convert img.jpg -thumbnail x150 img1.jpg

Ресайз без сохранения соотношения сторон:

convert img.jpg -thumbnail 100×150! img1.jpg

Ресайз в % (процентах):

convert img.jpg -thumbnail 20% img1.jpg

Для удобной пакетной обработки изображений, воспользуемся батниками. Это пакетные файлы с расширением .BAT или.CMD. В примерах с jpg, установим сжатие с качеством 80 и ресайз по ширине 800px.
Батник будет изменять изображения, только в каталоге, из которого он запущен. Он создаст папку «Compressed» и запишет в нее измененные изображения, добавляя к имени «_Compressed.jpg».

JPG — батники для сжатия и ресайза с потерями

Оптимальный, на мой взгляд, вариант для jpg:

Что делает это батник? В каталоге, из которого он запущен, находит все файлы с расширением *.jpg. Здесь же, создает папку «Compressed» и копирует в нее все обработанные изображения, добавляя к их имени «_Compressed.jpg».

Приведу для примера, батник с утилитой mogrify.exe (обработает и перезапишет все изображения .jpg, в каталоге, из которого будет запущен):

Пример батника с утилитой mogrify.exe:

PNG. Основные опции ImageMagick для сжатия и ресайза

PNG сжимается без потерь и сохра­няет про­зрач­но­сть ( альфа-канал).
Хотя, его тоже возможно сжимать с потерями. Также, как и с jpg, можно использовать опции:-gaussian-blur, -strip, -resize, -thumbnail, -unsharp.
А также множество вариантов с опциями для png:
-define png:compression-filter=2
-define png:compression-level=9
-define png:compression-strategy=1
-colors 255 — Почему не 256? Потому что 1 резервируется для альфа-канала.
-depth 8 — количество бит.
-quality 90 — для png этот параметр имеет иной принцип работы и другие значения, чем для jpg.

Подробнее об этих опциях, смотрите на сайте ImageMagick. Их очень много, на любой вкус и цвет. Я привел средние параметры, которые меня устроили. Теперь давайте посмотрим, как их можно использовать в батниках.

PNG — батники для сжатия и ресайза

Вариант 1. Сжатие и ресайз 400px по ширине без потерь:
Вариант 2. Сжатие и ресайз 400px по ширине с потерями:

Изменяя опции и значения параметров в этих батниках, можно подобрать подходящий для вас вариант, для пакетного сжатия и ресайза.

Что делать, если вы изменили батник, и он перестал работать?

  1. Убрать все пробелы в конце строк.
    В Notepad++ это можно сделать так: выделить все, Правка — Операции с Пробелами — Убрать замыкающие пробелы и сохранить. Или: Ctrl+A — Ctrl+Shift+B — Ctrl+S.
  2. Проверьте, стоит ли кодировка UTF-8 без BOM. Если же вы используете в батнике кириллицу, кодировка OEM 866.
  3. Убедитесь, что используются подходящие параметры для данного формата.

И на десерт

Я протестировал все популярные PNG компрессоры. Для себя сделал вывод: лучшее сжатие PNG с потерями дает pngquant. Если применять его для сжатия скриншотов. С другими изображениями — не тестировал. Работает очень быстро.

С параметром «—strip» — удаляет все метаданные.
pngquant — это PNG-компрессор, который значительно уменьшает размеры файлов путем преобразования изображений в более эффективный 8-битный PNG-формат с альфа-каналом (часто на 60-80% меньше, чем 24/32-битные PNG-файлы). Сжатые изображения полностью совместимы со стандартами и поддерживаются всеми веб-браузерами и операционными системами.
Параметры командной строки pngquant.

И конечно же есть автомат Калашникова батник для пакетной обработки:

Чтобы все работало, нужно положить pngquant.exe рядом с батником. Либо скопировать его в любую папку и в батнике, вместо «pngquant.exe», указать путь «YourPathpngquant.exe»
Примечание: pngquant почему-то не обрабатывает файлы с кириллическими именами.

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

  • сжатие изображений
  • веб-разработка
  • Разработка веб-сайтов
  • Обработка изображений
  • Сжатие данных

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
eft-soft.ru