carre
This is the implementation of a very algorithm for "simplifying" images. The idea is that patches of a single can carry the same visual information with less detail; this results in images that are easier to compress and look a bit like cubism. The algorithm goes as follows:
- Calculate the average color of the initial image
- Calculate the average color difference from the average calculated in step 1
- If the average color difference higher than some threshold, split the image in 4 and apply step 1 to each sub-image
- If not then color a new blank image with the average color obtained in step 1 and the boundaries of the current image
The algorithm is recursive and deterministic. Lowering the threshold will result in images with more detail, indeed if the threshold is 0 then the algorithm reproduces the original image.
Installation
- Install Go
- Make sure that
$GOPATH is set and that $GOPATH/bin has been added to the global path
- Run
go get -u github.com/MaxHalford/carre
- Run
carre -help to check that the installation was successful
Examples
carre -in original/rousseau-1.jpg -out processed/rousseau-1.png -threshold 15
| Original |
Processed |
 |
 |
carre -in original/rousseau-2.jpg -out processed/rousseau-2.png -threshold 10
| Original |
Processed |
 |
 |
carre -in original/rousseau-2.jpg -out processed/rousseau-3.png -threshold 30
| Original |
Processed |
 |
 |
Usage
Run carre -h to get a list of available parameters.
License
The MIT License (MIT). Please see the license file for more information.