ImageMagick can read, convert and write images in a large variety of formats. Images can be cropped, colors can be changed, various effects can be applied, images can be rotated and combined, and text, lines, polygons, ellipses and Bezier curves can be added to images and stretched and rotated.
ImageMagick is a nice tool suite for the creation, modification and display of bitmap images.
ImageMagick is free software: it is delivered with full source code and can be freely used, copied, modified and distributed. Its license is compatible with the GPL. It runs on all major operating systems.
Most of the functionality of ImageMagick can be used interactively from the command line; more often, however, the features are used from programs written in the programming languages Perl, C, C++, Python, PHP, Ruby, Tcl/Tk or Java, for which ready-made ImageMagick interfaces (PerlMagick, Magick++, PythonMagick, MagickWand for PHP, RMagick, TclMagick, and JMagick) are available.
This makes it possible to modify or create images automatically and dynamically.
ImageMagick supports many image formats (over 90 major formats) including popular formats like TIFF, JPEG, PNG, PDF, PhotoCD, and GIF.
Here are some key features of "ImageMagick":
· Format conversion: convert an image from one format to another (e.g. PNG to JPEG).
· Transform: resize, rotate, crop, flip or trim an image.
· Transparency: render portions of an image invisible.
· Draw: add shapes or text to an image.
· Decorate: add a border or frame to an image.
· Special effects: blur, sharpen, threshold, or tint an image.
· Animation: create a GIF animation sequence from a group of images.
· Text & comments: insert descriptive or artistic text in an image.
· Image identification: describe the format and properties of an image.
· Composite: overlap one image over another.
· Montage: juxtapose image thumbnails on an image canvas.
· Motion picture support: read and write the common image formats used in digital film work.
· Image calculator: apply a mathematical expression to an image or image channels.
· 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.
· Large image support: read, process, or write mega- and giga-pixel image sizes.
· Encipher or decipher an image: convert ordinary images into unintelligible gibberish and back again.
· Threads of execution support: ImageMagick is thread safe and many internal algorithms are already threaded to take advantage of speed-ups offered by the dual and quad-core processor technologies.
What's New in This Release: [ read full changelog ]
· Make -define png:color-type less persnickity about what it will accept.
· added use of -precision in 'showkernel' output of -morphology
· correct use of a 'reflected kernel' for 'Convolve' 'Dilate' and 'Distance' Morphology primatives. This does not have a performance hit, though is only truely applicable when the kernel is asymmetric. Note that 'Erode' does not use a 'reflected' kernel, so that 'Open' and 'Close' operations work properly. This 'reflected usage is defined by online morphology lecture notes (Google for "EECE Binary Morphology")
· Added convolve kernel scaling setting "-set option:convolve:scale N" If undefined morphology convolve does not do any scaling or normalization of the convolution kernel. A value of 0.0 causes normalization for both zero and non-zero (added weights) kernel types.
· Speed up reading the PSD image format.
· Add the -precision option. Use it to set the maximum number of significant digits to be printed.
· Add -features option to the identify program to display channel features.
· Add support for compact floating point (i.e. -depth 16 -define quantum:format=floating-point).
· Transparent images no longer flicker on certain system when using the display program.
· Permit interactive resizing with the display program.
· Support heterogeneous distributed processing, see http://www.imagemagick.org/script/architecture.php#distributed.
· Fix semaphore assertion when reading a corrupt image with Magick++.
· Add support for -brightness-contrast option.
· Add support for the BGRA raw image format.
· Added Kernel Generator to generate kernels from user strings, which allows the generation in many built in kernels for both Convolution and other Morphological methods. New Kernels currently include.. Convolution: Gaussian, Blur, Comet Morphological: Rectangle, Square, Diamond, Disk, Plus Distance: Chebyshev, Manhatten, Knight, Euclidean And both old and new (rectangular) user defined kernel specifications including the use of 'nan' to represent elements which are not part of the kernel definition. List built-in kernel types use "-list kernel"
· Added -morphology {method}[:{iteration}] {kernel_string} Initial methods includes no only the basic morphology methods: Dilate, Erode, Open, Close; and a pixel color preserving 'Intensity' version, but also the special methods: Convolve, and Distance. Of course the appropriate kernel should be provided for each specific method.
· Add OpenCL-enabled filter (e.g. convert image.png -process "convolve '-1, -1, -1, -1, 9, -1, -1, -1, -1'" image.jpg).
· Added StringTo...() processing functions