• Stars
    star
    432
  • Rank 100,650 (Top 2 %)
  • Language
    Go
  • Created over 8 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Re-encode jpeg images with no perceivable quality loss.
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

More Repositories

1

t.js

A tiny javascript templating framework in ~400 bytes gzipped
HTML
827
star
2

lambda_proc

Running a companion process to an AWS Lambda function in go
Go
236
star
3

DumbledORM

A novelty PHP ORM
PHP
63
star
4

cryp

simple tools for encryption from the command-line
Go
24
star
5

geo

Simple go wrapper for Google Geocoder API
Go
16
star
6

go-butteraugli

a golang port of the butteraugli library
Go
16
star
7

cardinal

a circular buffer of sets
Go
12
star
8

skwurly

a urlsort function in c
C
9
star
9

eventin

nyt events api app
Go
6
star
10

dk

a decaying 2-dimensional hashtable of counters
Go
6
star
11

ghostmates

Postmates API library
Go
5
star
12

grate

a simple rate limiter
Go
5
star
13

funsafe

experimental package for bypassing package export rules in go
Go
4
star
14

buildbox

ubuntu precise64 vagrant build box
Shell
4
star
15

dirtsimplecolor

a dirt simple color picker for modern browsers
3
star
16

hist

cli tool for generating histograms
Go
3
star
17

myne

Java
3
star
18

helo

a discarding smtp/s server/library
Go
2
star
19

imagine

Go
2
star
20

pubdis

A simple pubsub app
JavaScript
2
star
21

delta

cli tool for delta encoding/decoding
Go
2
star
22

oc

a sortable, iterable map of counters
Go
2
star
23

acslater

a simple auth cache that expires
Go
1
star
24

rnd

playing with prngs
Go
1
star
25

wc

a faster wc
Go
1
star
26

bufcpy

variations on []byte copy functions with benchmarks
Go
1
star
27

terminal-dash

dashboard for the term
Go
1
star
28

mordor

adhoc port scan
Go
1
star
29

cdist

a utf8 rune distribution over stdin
Go
1
star
30

flk

a simple snowflake server for generating unique ids
Go
1
star
31

dk-server

trend/cardinality tracking server
Go
1
star
32

pointer

Full example code from the article "Pointer arithmetic, (f)unsafe, and garbage collector behavior in go"
Go
1
star
33

trex

a lexing trie
Go
1
star
34

stater

a lib to make stating your app easy
Go
1
star
35

glisten

go port of a HTML5 Canvas image generation algorithm
Go
1
star
36

dapper

ldap like a sir
Go
1
star
37

tunr

a puzzle game
JavaScript
1
star
38

tt

cli tool to calculate the difference, intersection, or union on newline delimited files
Go
1
star
39

bogl

quick hack at a boggle solver
Go
1
star
40

balance

Go
1
star
41

bytes2human

cli tool that converts bytes to human readable quantities
Go
1
star
42

delts

Delta tracking in streams
Go
1
star
43

json_tests

simple json throughput tests
Java
1
star
44

cog

a gearmand client/worker lib
Go
1
star