ImageMagick Image Effects

Blur & Sharpen

Blur

1# Gaussian blur
2convert input.jpg -blur 0x8 output.jpg
3
4# Motion blur
5convert input.jpg -motion-blur 0x20+45 output.jpg
6
7# Radial blur
8convert input.jpg -radial-blur 10 output.jpg

Sharpen

1# Sharpen
2convert input.jpg -sharpen 0x1 output.jpg
3
4# Unsharp mask (best for photos)
5convert input.jpg -unsharp 0x1+1+0.05 output.jpg

Noise & Texture

1# Add noise
2convert input.jpg -attenuate 0.5 +noise Gaussian output.jpg
3
4# Reduce noise
5convert input.jpg -enhance output.jpg
6
7# Despeckle
8convert input.jpg -despeckle output.jpg

Edge Detection

1# Edge detection
2convert input.jpg -edge 1 output.jpg
3
4# Canny edge detection
5convert input.jpg -canny 0x1+10%+30% output.jpg
6
7# Sobel edge detection
8convert input.jpg -define convolve:scale='!' \
9  -morphology Convolve Sobel:0 output.jpg

Artistic Effects

Oil Paint

1convert input.jpg -paint 5 output.jpg

Charcoal

1convert input.jpg -charcoal 2 output.jpg

Sketch

1convert input.jpg -sketch 0x20+120 output.jpg

Emboss

1convert input.jpg -emboss 2 output.jpg

Posterize

1convert input.jpg -posterize 8 output.jpg

Color Effects

Tint

1# Blue tint
2convert input.jpg -fill blue -colorize 30% output.jpg
3
4# Sepia tone
5convert input.jpg -sepia-tone 80% output.jpg

Duotone

1convert input.jpg -colorspace Gray \
2  \( +clone -fill "#FF6600" -colorize 100% \) \
3  -compose overlay -composite output.jpg

Vignette

1convert input.jpg -background black -vignette 0x20 output.jpg

Distortion & Warping

1# Swirl
2convert input.jpg -swirl 90 output.jpg
3
4# Wave
5convert input.jpg -wave 10x100 output.jpg
6
7# Implode/Explode
8convert input.jpg -implode 0.5 output.jpg
9convert input.jpg -implode -0.5 output.jpg

Text & Annotations

 1# Add text
 2convert input.jpg -pointsize 48 -fill white -gravity south \
 3  -annotate +0+10 'Hello World' output.jpg
 4
 5# Text with background
 6convert input.jpg -pointsize 48 -fill white -gravity south \
 7  -undercolor '#00000080' -annotate +0+10 'Hello World' output.jpg
 8
 9# Draw shapes
10convert input.jpg -fill none -stroke red -strokewidth 5 \
11  -draw "rectangle 100,100 300,300" output.jpg

Further Reading

Related Snippets