Features & Modifiers

mimg provides 42+ powerful image modifiers organized into three categories. All modifiers can be chained together for complex image processing pipelines.

Color Adjustments (21 modifiers)

Transform colors, adjust brightness, contrast, and apply color grading effects.

ModifierUsageDescription
brightnessbrightness <value>Adjust brightness (-128 to 127)
contrastcontrast <factor>Adjust contrast (0.0 to 3.0)
saturationsaturation <factor>Adjust color saturation (0.0 to 3.0)
gammagamma <value>Apply gamma correction (0.1 to 3.0)
vibrancevibrance <factor>Adjust vibrance - smart saturation that preserves skin tones (0.0 to 2.0)
exposureexposure <value>Adjust exposure (-2.0 to 2.0)
hue-shifthue-shift <degrees>Shift hue around color wheel (-180 to 180)
adjust-hsladjust-hsl <hue> <sat> <light>Adjust hue, saturation, and lightness separately
adjust-channelsadjust-channels <red> <green> <blue>Adjust RGB channel intensities independently
colorizecolorize <#RRGGBB> <intensity>Tint image with hex color (e.g., #FF5733)
duotoneduotone <#dark> <#light>Apply Spotify-style duotone effect using two hex colors
posterizeposterize <levels>Reduce color levels for poster effect (2-256)
thresholdthreshold <value>Convert to black/white based on luminance (0-255)
solarizesolarize <threshold>Invert colors above threshold for solarization effect (0-255)
equalizeequalizeApply histogram equalization for better contrast distribution
equalize-areaequalize-area <x> <y> <w> <h>Apply histogram equalization to specific region
grayscalegrayscaleConvert to grayscale using luminance-weighted conversion
sepiasepiaApply classic sepia tone for vintage look
invertinvertInvert all colors (negative effect)
temperaturetemperature <value>Adjust color temperature (-100 to 100, negative=cooler, positive=warmer)
tinttint <value>Adjust green/magenta tint (-100 to 100)

Color Examples

# Professional color grading
mimg photo.jpg vibrance 0.3 exposure 0.2 contrast 1.1 temperature 10 -o graded.jpg

# Creative duotone
mimg photo.jpg grayscale duotone #FF6B6B #4ECDC4 -o duotone.jpg

# High contrast black and white
mimg photo.jpg grayscale contrast 1.5 equalize -o bw.jpg

# Vintage warm tone
mimg photo.jpg sepia temperature 20 vignette 0.3 -o vintage.jpg

Filters & Effects (15 modifiers)

Apply blur, sharpen, artistic effects, and creative filters.

ModifierUsageDescription
blurblur <size>Fast box blur (kernel size, odd numbers recommended)
gaussian-blurgaussian-blur <sigma>High-quality Gaussian blur (0.5 to 10.0)
sharpensharpenSharpen image details using unsharp mask
embossemboss <strength>3D emboss effect (0.0 to 2.0)
color-embosscolor-emboss <strength>Emboss with color preservation (0.0 to 2.0)
edge-detectedge-detectDetect edges using Sobel operator
edge-enhancementedge-enhancement <strength>Enhance edges while preserving colors (0.0 to 2.0)
median-filtermedian-filter <size>Median filter for noise reduction (odd kernel size, 3-11)
denoisedenoise <strength>Advanced noise removal using bilateral filter (1-10)
pixelatepixelate <size>Apply mosaic/pixelation effect (2-50)
oil-paintingoil-painting <radius>Artistic oil painting effect (1-10)
vignettevignette <intensity>Darken corners for focus effect (0.0 to 1.0)
glowglow <intensity> <radius>Add soft glow around bright areas
tilt-shifttilt-shift <blur> <pos> <width>Miniature effect with selective focus
noisenoise <amount>Add film grain/noise (0.0 to 1.0)

Advanced Filters

ModifierUsageDescription
gradient-lineargradient-linear <#start> <#end> <angle> <opacity>Linear gradient overlay
gradient-radialgradient-radial <cx> <cy> <#start> <#end> <r> <opacity>Radial gradient overlay
censorcensor <x> <y> <w> <h> <method> <strength>Censor area (blur/pixelate/black)

Filter Examples

# Professional portrait enhancement
mimg portrait.jpg median-filter 3 vibrance 0.2 sharpen -o enhanced.jpg

# Artistic oil painting
mimg photo.jpg oil-painting 5 posterize 8 vignette 0.4 -o artistic.jpg

# Tilt-shift miniature effect
mimg cityscape.jpg tilt-shift 8.0 0.5 0.3 saturation 1.3 -o miniature.jpg

# Dreamy glow effect
mimg photo.jpg glow 0.6 15 gaussian-blur 1.5 -o dreamy.jpg

# Film grain texture
mimg photo.jpg noise 0.08 contrast 0.95 vignette 0.2 -o filmic.jpg

Transforms (6 modifiers)

Geometric transformations and shape modifications.

ModifierUsageDescription
resizeresize <width> <height>Resize image with nearest-neighbor sampling
cropcrop <x> <y> <width> <height>Crop using top-left coordinate and dimensions
rotaterotate <degrees>Rotate clockwise by any angle (auto-resizes canvas)
flipflip <horizontal|vertical>Flip image horizontally or vertically
round-cornersround-corners <radius>Round corners with specified radius (pixels)
trimtrim <threshold>Auto-crop transparent or solid-color borders

Transform Examples

# Resize for web
mimg large.png resize 1920 1080 sharpen -o web.png

# Create profile picture
mimg portrait.jpg crop 200 100 400 400 resize 512 512 round-corners 256 -o avatar.png

# Rotate and adjust
mimg photo.jpg rotate 90 brightness 10 contrast 1.1 -o rotated.jpg

# Mirror effect
mimg photo.jpg flip horizontal saturation 1.2 -o mirrored.jpg

Chaining Modifiers

The real power of mimg comes from chaining modifiers together. Process images through complex pipelines:

# Professional photo edit
mimg raw.jpg \
  exposure 0.3 \
  contrast 1.2 \
  vibrance 0.4 \
  temperature 5 \
  sharpen \
  vignette 0.2 \
  -o final.jpg

# Creative Instagram-style filter
mimg photo.jpg \
  adjust-channels 1.1 0.95 0.9 \
  vibrance 0.5 \
  gaussian-blur 0.8 \
  noise 0.03 \
  vignette 0.3 \
  -o filtered.jpg

# Dramatic black and white
mimg landscape.jpg \
  grayscale \
  contrast 1.5 \
  edge-enhancement 0.3 \
  vignette 0.4 \
  -o dramatic-bw.jpg

Performance Tips

mimg uses SIMD optimizations for maximum speed:

  • Small images (< 1MB): Process in < 100ms
  • Medium images (1-5MB): Process in < 500ms
  • Large images (5-20MB): Process in < 2s

Tips for best performance:

  1. Order modifiers efficiently (transforms first, then filters, then color)
  2. Use presets to save and reuse common chains
  3. Process in batches using wildcards
  4. Add -v flag to see timing information

Preset Files

Save modifier chains as presets for reusability:

portrait-enhance.preset:

median-filter 3
vibrance 0.2
contrast 1.1
edge-enhancement 0.1
sharpen

Use it:

mimg photo.jpg --preset portrait-enhance.preset -o enhanced.jpg

Supported Formats

mimg supports these image formats for input and output:

  • PNG - Lossless with transparency
  • JPEG - Lossy compression
  • BMP - Windows bitmap
  • TGA - Truevision Targa
  • QOI - Quite OK Image format
  • PPM - Portable pixmap
  • PGM - Portable graymap
  • PAM - Portable arbitrary map

Format is auto-detected from file extension.

What’s Next?

Need More?

Request new features on GitHub Issues or contribute to the project!