ImageMagick
ImageMagick® is to images as ffmpeg is to audio and video. It's the swiss army knife of image processing utilities - SIPS for Windows.
Because it's a command line utility, it can be scripted.
ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you may use, copy, modify, and distribute in both open and proprietary applications. It is distributed under a derived Apache 2.0 license.
ImageMagick utilizes multiple computational threads to increase performance and can read, process, or write mega-, giga-, or tera-pixel image sizes.
There are also builds for Android.
The authoritative source code repository is https://github.com/ImageMagick/ImageMagick.
Features and Capabilities
Animation |
create a GIF animation sequence from a group of images. |
Bilateral blur |
non-linear, edge-preserving, and noise-reducing smoothing filter. |
Color management |
accurate color management with color profiles or in lieu of-- built-in gamma compression or expansion as demanded by the colorspace. |
Color thresholding |
force all pixels in the color range to white otherwise black. |
Complex text layout |
bidirectional text support and shaping. |
Composite |
overlap one image over another. |
Connected component labeling |
uniquely label connected regions in an image. |
Convex hull |
smallest area convex polygon containing the image foreground objects. In addition, the minimum bounding box and unrotate angle are also generated. |
Decorate |
add a border or frame to an image. |
Delineate image features |
Canny edge detection, Hough lines. |
Discrete Fourier transform |
implements the forward and inverse DFT. |
Distributed pixel cache |
offload intermediate pixel storage to one or more remote servers. |
Draw |
add shapes or text to an image. |
Encipher or decipher an image |
convert ordinary images into unintelligible gibberish and back again. |
Format conversion |
convert an image from one format to another (e.g. PNG to JPEG). |
Generalized pixel distortion |
correct for, or induce image distortions including perspective. |
Heterogeneous distributed processing |
certain algorithms are OpenCL-enabled to take advantage of speed-ups offered by executing in concert across heterogeneous platforms consisting of CPUs, GPUs, and other processors. |
High dynamic-range images |
accurately represent the wide range of intensity levels found in real scenes ranging from the brightest direct sunlight to the deepest darkest shadows. |
Histogram equalization |
use adaptive histogram equalization to improve contrast in images. |
Image cache |
secure methods and tools to cache images, image sequences, video, audio or metadata in a local folder.. |
Image calculator |
apply a mathematical expression to an image, image sequence, or image channels. |
Image gradients |
create a gradual blend of two colors whose shape is horizontal, vertical, circular, or elliptical. |
Image identification |
describe the format and attributes of an image. |
Large image support |
read, process, or write mega-, giga-, or tera-pixel image sizes. |
Montage |
juxtapose image thumbnails on an image canvas. |
Morphology of shapes |
extract features, describe shapes, and recognize patterns in images. |
Motion picture support |
read and write the common image formats used in digital film work. |
Multispectral imagery |
support multispectral imagery up to 64 bands. |
Noise and color reduction |
Kuwahara Filter, mean-shift.
|
Perceptual hash |
map visually identical images to the same or similar hash-- useful in image retrieval, authentication, indexing, or copy detection as well as digital watermarking.
|
Special effects |
blur, sharpen, threshold, or tint an image. |
Text & comments |
insert descriptive or artistic text in an image. |
Threads of execution support |
ImageMagick is thread safe and most internal algorithms execute in parallel to take advantage of speed-ups offered by multicore processor chips.
|
Transform |
resize, rotate, deskew, crop, flip or trim an image. |
Transparency |
render portions of an image invisible. |
Virtual pixel support |
convenient access to pixels outside the image boundaries. |
Scripting Features |
Command-line processing |
utilize ImageMagick from the command-line. |
Examples of ImageMagick Usage |
Basic comand line usage |
ImageMagick examples |
Basic scripting examples |
Fred's ImageMagick Scripts |
Advanced scripting examples |
Snibgo's ImageMagick Cookbook |
Advanced scripting examples |
Script Porting Guide |
Porting old scripts |
|