jasonmoo / smlr

Re-encode jpeg images with no perceivable quality loss.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

smlr

* This project is experimental and needs some tuning. *

Re-encode jpeg images with no perceivable quality loss.

Uses the butteraugli psychovisual comparison and k-ary search to determine the best jpeg quality setting that will not "appear" degraded.

Installation:

	1. Clone https://github.com/google/butteraugli.
	2. Run `make` in the `src/` directory to build the `compare_pngs` binary.
	3. Move `compare_pngs` to some folder in your `PATH`
	4. `go get github.com/jasonmoo/smlr`

Use:

	smlr -if my_image.jpg -of my_image.best.jpg

	Flags available:
		-if string
			file to process
		-of string
			output file
		-width int
			width to resize to.  omitting either width or height will maintain proportion.
		-height int
			height to resize to.  omitting either width or height will maintain proportion.
		-max float
			maximum deviation detected (default 1.1)
		-cores int
			how many cores to use (default runtime.NumCPU())


Inspired by:

	https://medium.com/@duhroach/reducing-jpg-file-size-e5b27df3257c


LICENSE: MIT

About

Re-encode jpeg images with no perceivable quality loss.


Languages

Language:Go 94.0%Language:Shell 6.0%