smartcrop implementation in Go
smartcrop finds good crops for arbitrary images and crop sizes, based on Jonas Wagner's smartcrop.js
Example Image: https://www.flickr.com/photos/usfwspacific/8182486789 CC BY U.S. Fish & Wildlife
Make sure you have a working Go environment. See the install instructions.
To install smartcrop, simply run:
go get github.com/muesli/smartcrop
To compile it from source:
git clone git://github.com/muesli/smartcrop.git
cd smartcrop && go build && go test -v
package main import ( "github.com/muesli/smartcrop" "fmt" "image" _ "image/png" "os" ) func main() { fi, _ := os.Open("test.png") defer fi.Close() img, _, _ := image.Decode(fi) topCrop, _ := smartcrop.SmartCrop(&img, 250, 250) fmt.Printf("Top crop: %+v\n", topCrop) }
Also see the test-cases in crop_test.go for further working examples.
API docs can be found here.
Join us on IRC: irc.freenode.net/#smartcrop
Continuous integration: Build Status