Skip to content

Releases: DavidEsdrs/image-processing

v3.6.0

13 Nov 19:05
Compare
Choose a tag to compare

Features:

  • Support for webp images trough github.com/chai2010/webp.
  • Contrast filter. cont flag.
  • Color temperature filter. temp flag.
  • Color inversion filter. inv flag.

v3.5.0

30 Oct 20:43
Compare
Choose a tag to compare
  • Add rotation filter: flag -r

Performance:

  • Images are now represented in a linear structure instead of a matrix.

v3.4.0

25 Mar 03:44
Compare
Choose a tag to compare

Full Changelog: v3.3.0...v3.4.0

Fixes

  • blur doesn't darken image when applied
  • saturation filter is consistent

Performance

  • blur is much faster (concurrency is used)

v3.3.0

13 Feb 17:52
Compare
Choose a tag to compare

Features

Blur filter:

  • -b flag to decide the kernel size for the blur filter. The more it increases, the more blurry the output image will be (depending on the sigma value)
  • -s sigma flag to blur algorithm. It is optional. The ideal value for that is half the value of b
    Brightness filter:
  • -l flag (l for luminance). The value given will be added in luminance channel for each pixel.

v3.2.0

24 Jan 01:36
157b061
Compare
Choose a tag to compare

Fix

  • Fix bug with gray scale filter (gs flag) when the image is of YCbCr color model. Before, when it was applied to this type of image, it left the image completely green. This behaviour was fixed.
  • Fix bug blur filter (b and sflags) ) when the image is of YCbCr color model. The behaviour was the same as the previous one, and now it is fixed.

What's Changed

Full Changelog: v3.1.0...v3.2.0

v3.1.0

21 Jan 15:50
e132901
Compare
Choose a tag to compare

Features

  • Add support for gaussian blur
  • Support gif output

What's Changed

New Contributors

Full Changelog: v3.0.0...v3.1.0

v3.0.0

31 Aug 16:15
Compare
Choose a tag to compare

Introducing two new flags: h (help), -v (verbose), -ov (overlay), width and height

  • flag -v:
    • Logs the progress of the processes
    • Usage is implicit:
      • Passing it means true, not passing means false
    • Default is false
    • If it is false, the tool will not generate any logs unless an error occurs.
  • flag -ov:
    • Adds an overlay to the input image
    • -i image will be the background
    • -ov must be a path to an image to be used as overlay
    • You can use some other flags to customize how the overlay will be applied:
      • -dt:
        • Distance of the top of the overlay to the top of the background
      • -dl:
        • Distance of the left of the overlay to the left of the background
      • -db:
        • Distance of the bottom of the overlay to the bottom of the background
      • -dr:
        • Distance of the right of the overlay to the right of the background
    • Note that the vertical arguments (dt and db) are mutually exclusive, and the same applies to the horizontal ones (dl and dr)
    • The dt and dl arguments take precedence over db and dl. This means that if you provide a dt argument, the db argument will have no effect, and the same applies to dl and dr.
    • The order of these arguments does not impact their behavior.
  • refactor in nearest neighbor:
    • nn is now a boolean flag, indicating that the resize algorithm is nearest neighbor
    • you can either pass f, as a scale factor, or width and height flags indicating the dimensions of the output
  • refactor in cropping:
    • No process will be performed if the cropping values aren't valid for the image
  • Many others internal refactors

v2.1.0

15 Aug 01:21
Compare
Choose a tag to compare

Core API remains the same.

Fixes:

  • Significant performance enhancement when processing images with custom color palettes (~70% more performant)
  • Prevention of errors when providing invalid crop values.

Features:

  • flag -q:
    • Quality for jpeg compression. Default is 100
    • Lower values provide higher compression but lower quality
    • Higher values provide lower compression with higher quality.

v2.0.0

14 Aug 17:02
Compare
Choose a tag to compare

v2.0.0

Significant improvements in version 2.0. The core API remains unchanged, but the output of the processes has undergone drastic changes (hence the version 2.0).

Fixes:

  • Color models are now respected (YCbCr remains YCbCr, RGBA remains RGBA, and so on).
  • Images are saved with their correct codecs (previously saved as JPEG).
  • Grayscale filter application now uses Golang native methods - the previous approach didn't work with images containing custom palettes.

Features:

  • Introducing the image cropping (-c) command (see below)
iproc -i input.png -o output.png -c 0,1000,0,200
  • Arguments are comma-separated in the following order: xstart, xend, ystart, yend. - The above can be simplified to:
iproc -i input.png -o output.png -c 1000,200
  • Default values for xstart and ystart are both 0

  • Introducing subsampling ratio (-ssr) command (for images with YCbCr color model)
iproc -i input.png -o output.png -ssr 422
  • Options include:
    • 444:
      • 4:4:4 subsampling ratio (full quality)
    • 422:
      • 4:2:2 subsampling ratio
    • 420:
      • 4:2:0 subsampling ratio
    • 440:
      • 4:4:0 subsampling ratio
    • 411:
      • 4:1:1 subsampling ratio
    • 410:
      • 4:1:0 subsampling ratio
  • If no ssr value is provided, the original subsampling ratio will be used.

Full Changelog: v1.1.0...v2.0.0

v1.1.0

12 Aug 17:26
Compare
Choose a tag to compare

Introducing new features: clockwise (90 degrees) and counterclockwise (90 degrees) rotations have been added for enhanced functionality.

Commands:

Use -tl to rotate 90 degrees counterclockwise.
Utilize -tr to rotate 90 degrees clockwise.

While maintaining the core API, it was implemented some optimizations under the hood to enhance overall performance and efficiency.