Skip to content

Image Normalizer is a cross-platform command-line batch-processing tool that resizes and compresses images.

License

Notifications You must be signed in to change notification settings

mihnea-radulescu/imagenormalizer

Repository files navigation

imagenormalizer

Image Normalizer is a cross-platform command-line batch-processing tool that resizes and compresses images, transforming each image by:

  • applying EXIF Orientation to the image, if tag present
  • removing its EXIF, IPTC and XMP profile data, if present
  • resizing it to fit within the maximum width/height supplied, if necessary
  • compressing it to the provided image quality level
  • saving it in the JPEG format with the .jpg file extension

The supported image formats are: bmp, cr2, cur, dds, dng, exr, fts, gif, hdr, heic, heif, ico, jfif, jp2, jpe/jpeg/jpg, jps, mng, nef, nrw, orf, pam, pbm, pcd, pcx, pef, pes, pfm, pgm, picon, pict, png, ppm, psd, qoi, raf, rw2, sgi, svg, tga, tif/tiff, wbmp, webp, xbm, xpm.

Image Normalizer is intended to facilitate the storage of images produced by digital cameras in a consistent and disc space conserving manner.

It is written in C#, and targets .NET 8 on Linux and Windows. It relies on Magick.NET, as its image manipulation library.

Usage: ImageNormalizer [--max-width-height] [--quality] [--max-degree-of-parallelism] [--help] [--version] input-directory output-directory

Arguments:

  • 0: input-directory - The input directory (Required)
  • 1: output-directory - The output directory, to be created, if it does not exist (Required)

Options:

  • -m, --max-width-height - The output maximum image width/height (Default: 3840)
  • -q, --quality - The output image quality (Default: 80)
  • -p, --max-degree-of-parallelism - The maximum degree of parallel image processing, upper-bounded by processor count (Default: 4)
  • -h, --help - Show help message
  • --version - Show version