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 |
|