ImageMagick | PerlMagick, Perl API (original) (raw)

AdaptiveBlur

geometry=>geometry, radius=>double, sigma=>double, bias=>double, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

adaptively blur the image with a Gaussian operator of the given radius and standard deviation (sigma). Decrease the effect near edges.

AdaptiveResize

geometry=>geometry, width=>integer, height=>integer, filter=>{Point, Box, Triangle, Hermite, Hanning, Hamming, Blackman, Gaussian, Quadratic, Cubic, Catrom, Mitchell, Lanczos, Bessel, Sinc}, support=>double, blur=>double

adaptively resize image using data dependant triangulation. Specify blur > 1 for blurry or < 1 for sharp

AdaptiveSharpen

geometry=>geometry, radius=>double, sigma=>double, bias=>double, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

adaptively sharpen the image with a Gaussian operator of the given radius and standard deviation (sigma). Increase the effect near edges.

AdaptiveThreshold

geometry=>geometry, width=>integer, height=>integer, bias=>double

local adaptive thresholding.

AddNoise

noise=>{Uniform, Gaussian, Multiplicative, Impulse, Laplacian, Poisson}, attenuate=>double, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

add noise to an image

AffineTransform

affine=>array of float values, translate=>float, float, scale=> float, float, rotate=>float, skewX=>float, skewY=>float, interpolate={Average, Bicubic, Bilinear, Filter, Integer, Mesh, NearestNeighbor}, background=>color name

affine transform image

Affinity

image=>image-handle, method=>{None, FloydSteinberg, Riemersma}

choose a particular set of colors from this image

Annotate

text=>string, font=>string, family=>string, style=>{Normal, Italic, Oblique, Any}, stretch=>{Normal, UltraCondensed, ExtraCondensed, Condensed, SemiCondensed, SemiExpanded, Expanded, ExtraExpanded, UltraExpanded}, weight=>integer, pointsize=>integer, density=>geometry, stroke=>color name, strokewidth=>integer, fill=>color name, undercolor=>color name, kerning=>float, geometry=>geometry, gravity=>{NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast}, antialias=>{true, false}, x=>integer, y=>integer, affine=>array of float values, translate=>float, float, scale=>float, float, rotate=>float. skewX=>float, skewY=> float, align=>{Left, Center, Right}, encoding=>{UTF-8}, interline-spacing=>double, interword-spacing=>double, direction=>{right-to-left, left-to-right}, decorate=>{none, underline, overline, line-through}, word-break=>{normal, break-word}

annotate an image with text. See QueryFontMetrics to get font metrics without rendering any text.

AutoGamma

channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

automagically adjust gamma level of image

AutoLevel

channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

automagically adjust color levels of image

AutoOrient

adjusts an image so that its orientation is suitable for viewing (i.e. top-left orientation)

AutoThreshold

method=>{Kapur, OTSU, Triangle}

automatically perform image thresholding

BilateralSmoothing

geometry=>geometry, width=>integer, height=>integer, intensity-sigma=>double, spatial-sigma=>double, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

a non-linear, edge-preserving, and noise-reducing smoothing filter for images. It replaces the intensity of each pixel with a weighted average of intensity values from nearby pixels. This weight is based on a Gaussian distribution. The weights depend not only on Euclidean distance of pixels, but also on the radiometric differences (e.g., range differences, such as color intensity, depth distance, etc.). This preserves sharp edges. The default value for the intensity and spatial sigmas are 2*diameter and 0.5*diameter respectively.

BlackThreshold

threshold=>color, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

force all pixels below the threshold intensity into black

BlueShift

factor=>double,

simulate a scene at nighttime in the moonlight. Start with a factor of 1.5.

Blur

geometry=>geometry, radius=>double, sigma=>double, bias=>double, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

reduce image noise and reduce detail levels with a Gaussian operator of the given radius and standard deviation (sigma).

Border

geometry=>geometry, width=>integer, height=>integer, bordercolor=>color name, compose=>{Undefined, Add, Atop, Blend, Bumpmap, Clear, ColorBurn, ColorDodge, Colorize, CopyBlack, CopyBlue, CopyCMYK, Cyan, CopyGreen, Copy, CopyMagenta, CopyAlpha, CopyRed, RGB, CopyYellow, Darken, Dst, Difference, Displace, Dissolve, DstAtop, DstIn, DstOut, DstOver, Dst, Exclusion, HardLight, Hue, In, Lighten, Luminize, Minus, Modulate, Multiply, None, Out, Overlay, Over, Plus, ReplaceCompositeOp, Saturate, Screen, SoftLight, Src, SrcAtop, SrcIn, SrcOut, SrcOver, Src, Subtract, Threshold, Xor },

surround the image with a border of color

CannyEdge

geometry=>geometry, radius=>double, sigma=>double, 'lower-percent'=>double, 'upper-percent'=>double

use a multi-stage algorithm to detect a wide range of edges in the image (e.g. CannyEdge('0x1+10%+40%')).

Charcoal

geometry=>geometry, radius=>double, sigma=>double

simulate a charcoal drawing

Chop

geometry=>geometry, width=>integer, height=>integer, x=>integer, y=>integer, gravity=>{NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast}

chop an image

CLAHE

geometry=>geometry, width=>integer, height=>integer, number-bins=>integer, clip-limit=>double

contrast limited adaptive histogram equalization. width, height divides the image into tiles. number-bins is the number of histogram bins per tile (min 2, max 256). clip-limit is the contrast limit for localised changes in contrast. A clip-limit of 2 to 3 is a good starting place.

Clamp

channel=>{Red, RGB, All, etc.}

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

id=>name, inside=>{true, false},

apply along a named path from the 8BIM profile.

ClipMask

mask=>image-handle

clip image as defined by the image mask

Clut

image=>image-handle, interpolate={Average, Bicubic, Bilinear, Filter, Integer, Mesh, NearestNeighbor}, channel=>{Red, RGB, All, etc.}

apply a color lookup table to an image sequence

Color

color=>color name

set the entire image to this color.

ColorDecisionList

filename=>string,

color correct with a color decision list.

Colorize

fill=>color name, blend=>string

colorize the image with the fill color

ColorMatrix

matrix=>array of float values

apply color correction to the image. Although you can use variable sized matrices, typically you use a 5 x 5 for an RGBA image and a 6x6 for CMYKA. A 6x6 matrix is required for offsets (populate the last column with normalized values).

Colorspace

colorspace=>{RGB, Gray, Transparent, OHTA, XYZ, YCbCr, YCC, YIQ, YPbPr, YUV, CMYK}

set the image colorspace

Comment

string

add a comment to your image

ColorThreshold

start-color=>color, stop-color=>color, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

force all pixels below the threshold intensity into black

CompareLayers

method=>{any, clear, overlay}

compares each image with the next in a sequence and returns the minimum bounding region of any pixel differences it discovers. Images do not have to be the same size, though it is best that all the images are coalesced (images are all the same size, on a flattened canvas, so as to represent exactly how a specific frame should look).

Composite

image=>image-handle, compose=>{Undefined, Add, Atop, Blend, Bumpmap, Clear, ColorBurn, ColorDodge, Colorize, CopyBlack, CopyBlue, CopyCMYK, Cyan, CopyGreen, Copy, CopyMagenta, CopyAlpha, CopyRed, RGB, CopyYellow, Darken, Dst, Difference, Displace, Dissolve, DstAtop, DstIn, DstOut, DstOver, Dst, Exclusion, HardLight, Hue, In, Lighten, Luminize, Minus, Modulate, Multiply, None, Out, Overlay, Over, Plus, ReplaceCompositeOp, Saturate, Screen, SoftLight, Src, SrcAtop, SrcIn, SrcOut, SrcOver, Src, Subtract, Threshold, Xor }, mask=>image-handle, geometry=>geometry, x=>integer, y=>integer, gravity=>{NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast}, opacity=>integer, tile=>{True, False}, rotate=>double, color=>color name, blend=>geometry, interpolate=>{undefined, average, bicubic, bilinear, filter, integer, mesh, nearest-neighbor, spline}, clip-to-self=>{True, False}

composite one image onto another. Use the rotate parameter in concert with the tile parameter.

ConnectedComponents

connectivity=>integer,

connected-components uniquely labeled, choose from 4 or 8 way connectivity.

Contrast

sharpen=>{True, False}

enhance or reduce the image contrast

ContrastStretch

levels=>string, 'black-point'=>double, 'white-point'=>double, channel=>{Red, RGB, All, etc.}

improve the contrast in an image by `stretching' the range of intensity values

Convolve

coefficients=>array of float values, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}, bias=>double

apply a convolution kernel to the image. Given a kernel order , you would supply order*order float values (e.g. 3x3 implies 9 values).

CopyPixels

image=>image-handle, geometry=>geometry, width=>integer, height=>integer, x=>integer, y=>integer, offset=>geometry, gravity=>{NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast}, dx=>integer, dy=>integer

copy pixels from the image as defined by the widthxheight+x+y to image at offset +dx,+dy.

Crop

geometry=>geometry, width=>integer, height=>integer, x=>integer, y=>integer, fuzz=>double, gravity=>{NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast}

crop an image

CycleColormap

amount=>integer

displace image colormap by amount

Decipher

passphrase=>string

convert cipher pixels to plain pixels

Deconstruct

break down an image sequence into constituent parts

Deskew

geometry=>string,threshold=>double

straighten the image

Despeckle

reduce the speckles within an image

Difference

image=>image-handle

compute the difference metrics between two images

Distort

points=>array of float values, method=>{Affine, AffineProjection, ScaleRotateTranslate, SRT, Perspective, PerspectiveProjection, BilinearForward, BilinearReverse, Polynomial, Arc, Polar, DePolar, Barrel, BarrelInverse, Shepards, Resize}, 'virtual-pixel'=>{Background Black Constant Dither Edge Gray Mirror Random Tile Transparent White}, 'best-fit'=>{True, False}

distort image

Draw

primitive=>{point, line, rectangle, arc, ellipse, circle, path, polyline, polygon, bezier, color, matte, text, @filename}, points=>string , method=>{Point, Replace, Floodfill, FillToBorder, Reset}, stroke=>color name, fill=>color name, font=>string, pointsize=>integer, strokewidth=>float, antialias=>{true, false}, bordercolor=>color name, x=>float, y=>float, dash-offset=>float, dash-pattern=>array of float values, affine=>array of float values, translate=>float, float, scale=>float, float, rotate=>float, skewX=>float, skewY=>float, interpolate=>{undefined, average, bicubic, bilinear, mesh, nearest-neighbor, spline}, kerning=>float, text=>string, vector-graphics=>string, interline-spacing=>double, interword-spacing=>double, direction=>{right-to-left, left-to-right}, word-break=>{normal, break-word}

annotate an image with one or more graphic primitives.

Encipher

passphrase=>string

convert plain pixels to cipher pixels

Edge

radius=>double

enhance edges within the image with a convolution filter of the given radius.

Emboss

geometry=>geometry, radius=>double, sigma=>double

emboss the image with a convolution filter of the given radius and standard deviation (sigma).

Enhance

apply a digital filter to enhance a noisy image

Equalize

channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

perform histogram equalization to the image

Extent

geometry=>geometry, width=>integer, height=>integer, x=>integer, y=>integer, fuzz=>double, background=>color name, gravity=>{NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast}

set the image size

Evaluate

value=>double, operator=>{Add, And, Divide, LeftShift, Max, Min, Multiply, Or, Rightshift, RMS, Subtract, Xor}, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

apply an arithmetic, relational, or logical expression to the image

Filter

kernel=>string, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}, bias=>double

apply a convolution kernel to the image.

Flip

reflect the image scanlines in the vertical direction

Flop

reflect the image scanlines in the horizontal direction

FloodfillPaint

geometry=>geometry, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}, x=>integer, y=>integer , fill=>color name, bordercolor=>color name, fuzz=>double, invert=>{True, False}

changes the color value of any pixel that matches the color of the target pixel and is a neighbor. If you specify a border color, the color value is changed for any neighbor pixel that is not that color.

ForwardFourierTransform

magnitude=>{True, False}

implements the forward discrete Fourier transform (DFT)

Frame

geometry=>geometry, width=>integer, height=>integer, inner=>integer, outer=>integer, fill=>color name, compose=>{Undefined, Add, Atop, Blend, Bumpmap, Clear, ColorBurn, ColorDodge, Colorize, CopyBlack, CopyBlue, CopyCMYK, Cyan, CopyGreen, Copy, CopyMagenta, CopyAlpha, CopyRed, RGB, CopyYellow, Darken, Dst, Difference, Displace, Dissolve, DstAtop, DstIn, DstOut, DstOver, Dst, Exclusion, HardLight, Hue, In, Lighten, Luminize, Minus, Modulate, Multiply, None, Out, Overlay, Over, Plus, ReplaceCompositeOp, Saturate, Screen, SoftLight, Src, SrcAtop, SrcIn, SrcOut, SrcOver, Src, Subtract, Threshold, Xor },

surround the image with an ornamental border

Function

parameters=>array of float values, function=>{Sin}, 'virtual-pixel'=>{Background Black Constant Dither Edge Gray Mirror Random Tile Transparent White}

apply a function to the image

Gamma

gamma=>string, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

gamma correct the image

GaussianBlur

geometry=>geometry, radius=>double, sigma=>double, bias=>double, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

reduce image noise and reduce detail levels with a Gaussian operator of the given radius and standard deviation (sigma).

GetPixel

geometry=>geometry, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}, normalize=>{true, false}, x=>integer, y=>integer

get a single pixel. By default normalized pixel values are returned.

GetPixels

geometry=>geometry, width=>integer, height=>integer, x=>integer, y=>integer, map=>string, normalize=>{true, false}

get image pixels as defined by the map (e.g. "RGB", "RGBA", etc.). By default non-normalized pixel values are returned.

Grayscale

channel=>{Average, Brightness, Lightness, Rec601Luma, Rec601Luminance, Rec709Luma, Rec709Luminance, RMS}

convert image to grayscale

HaldClut

image=>image-handle, channel=>{Red, RGB, All, etc.}

apply a Hald color lookup table to an image sequence

HoughLine

geometry=>geometry, width=>double, height=>double, threshold=>double

identify lines in the image (e.g. HoughLine('9x9+195')).

Identify

file=>file, features=>distance, moments=>{True, False}, unique=>{True, False}

identify the attributes of an image

Implode

amount=>double, interpolate=>{undefined, average, bicubic, bilinear, mesh, nearest-neighbor, spline}

implode image pixels about the center

Integral

calculate the sum of values (pixel values) in the image.

InverseDiscreteFourierTransform

magnitude=>{True, False}

implements the inverse discrete Fourier transform (DFT)

Kmeans

geometry=>geometry, 'colors'=>double, 'iterations'=>double, 'tolerance'=>double

K means color reduction.

Kuwahara

geometry=>geometry, radius=>double, sigma=>double, bias=>double, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

edge preserving noise reduction filter

Label

string

assign a label to an image

Layers

method=>{coalesce, compare-any, compare-clear, compare-over, composite, dispose, flatten, merge, mosaic, optimize, optimize-image, optimize-plus, optimize-trans, remove-dups, remove-zero}, compose=>{Undefined, Add, Atop, Blend, Bumpmap, Clear, ColorBurn, ColorDodge, Colorize, CopyBlack, CopyBlue, CopyCMYK, Cyan, CopyGreen, Copy, CopyMagenta, CopyAlpha, CopyRed, RGB, CopyYellow, Darken, Dst, Difference, Displace, Dissolve, DstAtop, DstIn, DstOut, DstOver, Dst, Exclusion, HardLight, Hue, In, Lighten, LinearLight, Luminize, Minus, Modulate, Multiply, None, Out, Overlay, Over, Plus, ReplaceCompositeOp, Saturate, Screen, SoftLight, Src, SrcAtop, SrcIn, SrcOut, SrcOver, Src, Subtract, Threshold, Xor }, dither=>{true, false}

compare each image the GIF disposed forms of the previous image in the sequence. From this, attempt to select the smallest cropped image to replace each frame, while preserving the results of the animation.

Level

levels=>string, 'black-point'=>double, 'gamma'=>double, 'white-point'=>double, channel=>{Red, RGB, All, etc.}

adjust the level of image contrast

LevelColors

invert=>>{True, False}, 'black-point'=>string, 'white-point'=>string, channel=>{Red, RGB, All, etc.}

level image with the given colors

LinearStretch

levels=>string, 'black-point'=>double, 'white-point'=>double

linear with saturation stretch

LiquidResize

geometry=>geometry, width=>integer, height=>integer, delta-x=>double, rigidity=>double

rescale image with seam-carving.

Magnify

double the size of the image with pixel art scaling

Mask

mask=>image-handle

composite image pixels as defined by the mask

MatteFloodfill

geometry=>geometry, x=>integer, y=>integer , matte=>integer, bordercolor=>color name, fuzz=>double, invert=>{True, False}

changes the matte value of any pixel that matches the color of the target pixel and is a neighbor. If you specify a border color, the matte value is changed for any neighbor pixel that is not that color.

MeanShift

geometry=>geometry, width=>double, height=>double, distance=>double

delineate arbitrarily shaped clusters in the image (e.g. MeanShift('7x7+10%')).

MedianFilter

geometry=>geometry, width=>integer, height=>integer, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

replace each pixel with the median intensity pixel of a neighborhood.

Minify

half the size of an image

Mode

geometry=>geometry, width=>integer, height=>integer, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

make each pixel the predominant color of the neighborhood.

Modulate

factor=>geometry, brightness=>double, saturation=>double, hue=>double, lightness=>double, whiteness=>double, blackness=>double

vary the brightness, saturation, and hue of an image by the specified percentage

Morphology

kernel=>string, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}, iterations=>integer

apply a morphology method to the image.

MotionBlur

geometry=>geometry, radius=>double, sigma=>double, angle=>double, bias=>double, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

reduce image noise and reduce detail levels with a Gaussian operator of the given radius and standard deviation (sigma) at the given angle to simulate the effect of motion

Negate

gray=>{True, False}, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

replace each pixel with its complementary color (white becomes black, yellow becomes blue, etc.)

Normalize

channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

transform image to span the full range of color values

OilPaint

radius=>integer

simulate an oil painting

Opaque

color=>color name, fill=>color name, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}, invert=>{True, False}

change this color to the fill color within the image

OrderedDither

threshold=>{threshold, checks, o2x2, o3x3, o4x4, o8x8, h4x4a, h6x6a, h8x8a, h4x4o, h6x6o, h8x8o, h16x16o, hlines6x4}, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

order dither image

Perceptible

epsilon=>double, channel=>{Red, RGB, All, etc.}

set each pixel whose value is less than |epsilon| to -epsilon or epsilon (whichever is closer) otherwise the pixel value remains unchanged..

Polaroid

caption=>string, angle=>double, pointsize=>double, font=>string, stroke=> color name, strokewidth=>integer, fill=>color name, gravity=>{NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast}, background=>color name

simulate a Polaroid picture.

Posterize

levels=>integer, dither=>{True, False}

reduce the image to a limited number of color level

Profile

name=>string, profile=>blob, rendering-intent=>{Undefined, Saturation, Perceptual, Absolute, Relative}, black-point-compensation=>{True, False}

add or remove ICC or IPTC image profile; name is formal name (e.g. ICC or filename; set profile to '' to remove profile

Quantize

colors=>integer, colorspace=>{RGB, Gray, Transparent, OHTA, XYZ, YCbCr, YIQ, YPbPr, YUV, CMYK, sRGB, HSL, HSB}, treedepth=> integer, dither=>{True, False}, dither-method=>{Riemersma, Floyd-Steinberg}, measure_error=>{True, False}, global_colormap=>{True, False}, transparent-color=>color

preferred number of colors in the image

Raise

geometry=>geometry, width=>integer, height=>integer, x=>integer, y=>integer, raise=>{True, False}

lighten or darken image edges to create a 3-D effect

RangeThreshold

geometry=>geometry, 'low-black'=>double, 'low-white'=>double, 'high-white'=>double, 'high-black'=>double

combine soft and hard image thresholding.

ReduceNoise

geometry=>geometry, width=>integer, height=>integer, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

reduce noise in the image with a noise peak elimination filter

Remap

image=>image-handle, dither=>{true, false}, dither-method=>{Riemersma, Floyd-Steinberg}

replace the colors of an image with the closest color from a reference image.

Resample

density=>geometry, x=>double, y=>double, filter=>{Point, Box, Triangle, Hermite, Hanning, Hamming, Blackman, Gaussian, Quadratic, Cubic, Catrom, Mitchell, Lanczos, Bessel, Sinc}, support=>double

resample image to desired resolution. Specify blur > 1 for blurry or < 1 for sharp

Resize

geometry=>geometry, width=>integer, height=>integer, filter=>{Point, Box, Triangle, Hermite, Hanning, Hamming, Blackman, Gaussian, Quadratic, Cubic, Catrom, Mitchell, Lanczos, Bessel, Sinc}, support=>double, blur=>double

scale image to desired size. Specify blur > 1 for blurry or < 1 for sharp

Roll

geometry=>geometry, x=>integer, y=>integer

roll an image vertically or horizontally

Rotate

degrees=>double, background=>color name

rotate an image

RotationalBlur

geometry=>geometry, angle=>double, bias=>double, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

radial blur the image.

Sample

geometry=>geometry, width=>integer, height=>integer

scale image with pixel sampling.

Scale

geometry=>geometry, width=>integer, height=>integer

scale image to desired size

Segment

colorspace=>{RGB, Gray, Transparent, OHTA, XYZ, YCbCr, YCC, YIQ, YPbPr, YUV, CMYK}, verbose={True, False}, cluster-threshold=>double, smoothing-threshold=double

segment an image by analyzing the histograms of the color components and identifying units that are homogeneous

SelectiveBlur

geometry=>geometry, radius=>double, sigma=>double, threshold=>double, bias=>double, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

selectively blur pixels within a contrast threshold.

Separate

channel=>{Red, RGB, All, etc.}

separate a channel from the image into a grayscale image

Shade

geometry=>geometry, azimuth=>double, elevation=>double, gray=>{true, false}

shade the image using a distant light source

SetPixel

geometry=>geometry, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}, color=>array of float values, x=>integer, y=>integer, color=>array of float values

set the value a single pixel. Normalized pixel values are expected.

SetPixels

geometry=>geometry, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}, color=>array of float values, width=>integer, height=>integer, x=>integer, y=>integer, color=>array of float values

set the value of one or more pixels. Normalized pixel values are expected.

Shadow

geometry=>geometry, opacity=>double, sigma=>double, x=>integer, y=>integer

simulate an image shadow

Sharpen

geometry=>geometry, radius=>double, sigma=>double, bias=>double, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

sharpen the image with a Gaussian operator of the given radius and standard deviation (sigma).

Shave

geometry=>geometry, width=>integer, height=>integer

shave pixels from the image edges

Shear

geometry=>geometry, x=>double, y=>double fill=>color name

shear the image along the X or Y axis by a positive or negative shear angle

SigmoidalContrast

geometry=>string, 'contrast'=>double, 'mid-point'=>double channel=>{Red, RGB, All, etc.}, sharpen=>{True, False}

sigmoidal non-linearity contrast control. Increase the contrast of the image using a sigmoidal transfer function without saturating highlights or shadows. Contrast indicates how much to increase the contrast (0 is none; 3 is typical; 20 is a lot); mid-point indicates where midtones fall in the resultant image (0 is white; 50% is middle-gray; 100% is black). To decrease contrast, set sharpen to False.

Signature

generate an SHA-256 message digest for the image pixel stream

Sketch

geometry=>geometry, radius=>double, sigma=>double, angle=>double

sketch the image with a Gaussian operator of the given radius and standard deviation (sigma) at the given angle

Solarize

geometry=>string, threshold=>double, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

negate all pixels above the threshold level

SortPixels

sorts pixels within each scanline in ascending order of intensity.

SparseColor

points=>array of float values, method=>{Barycentric, Bilinear, Shepards, Voronoi}, 'virtual-pixel'=>{Background Black Constant Dither Edge Gray Mirror Random Tile Transparent White}

interpolate the image colors around the supplied points

Splice

geometry=>geometry, width=>integer, height=>integer, x=>integer, y=>integer, fuzz=>double, background=>color name, gravity=>{NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast}

splice an image

Spread

radius=>double, interpolate=>{undefined, average, bicubic, bilinear, mesh, nearest-neighbor, spline}

displace image pixels by a random amount

Statistic

geometry=>geometry, width=>integer, height=>integer, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}, type=>{Contrast, Median, Mode, Mean, Maximum, Minimum, ReduceNoise, RMS}

replace each pixel with corresponding statistic from the neighborhood.

Stegano

image=>image-handle, offset=>integer

hide a digital watermark within the image

Stereo

image=>image-handle, x=>integer, y=>integer

composites two images and produces a single image that is the composite of a left and right image of a stereo pair

Strip

strip an image of all profiles and comments.

Swirl

degrees=>double, interpolate=>{undefined, average, bicubic, bilinear, mesh, nearest-neighbor, spline}

swirl image pixels about the center

Texture

texture=>image-handle

name of texture to tile onto the image background

Thumbnail

geometry=>geometry, width=>integer, height=>integer

changes the size of an image to the given dimensions and removes any associated profiles.

Threshold

threshold=>string, channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

threshold the image

Tint

fill=>color name, blend=>string

tint the image with the fill color.

Transparent

color=>color name, invert=>{True, False}

make this color transparent within the image

Transpose

flip image in the vertical direction and rotate 90 degrees

Transverse

flop image in the horizontal direction and rotate 270 degrees

Trim

remove edges that are the background color from the image

UnsharpMask

geometry=>geometry, radius=>double, sigma=>double, gain=>double, threshold=>double

sharpen the image with the unsharp mask algorithm.

Vignette

geometry=>geometry, radius=>double, sigma=>double, x=>integer, y=>integer, background=>color name

offset the edges of the image in vignette style

Wave

geometry=>geometry, amplitude=>double, wavelength=>double, interpolate=>{undefined, average, bicubic, bilinear, mesh, nearest-neighbor, spline}

alter an image along a sine wave

WaveDenoise

geometry=>geometry, threshold=>double, threshold=>double

removes noise from the image using a wavelet transform

WhiteBalance

applies white balancing to an image according to a grayworld assumption in the LAB colorspace.

WhiteThreshold

threshold=>string, , channel=>{All, Default, Alpha, Black, Blue, CMYK, Cyan, Gray, Green, Index, Magenta, Alpha, Red, RGB, Yellow}

force all pixels above the threshold intensity into white