smartcrop

package module
v0.0.0-...-7f49124 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 25, 2014 License: MIT Imports: 10 Imported by: 1

README

smartcrop.go

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

Installation

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

Example

package main

import (
	"github.com/muesli/smartcrop"
	"fmt"
	"image"
	_ "image/jpeg"
	_ "image/png"
	"os"
)

func main() {
	fi, _ := os.Open("test.png")
	defer fi.Close()

	img, _, err := image.Decode(fi)
	if err != nil {
		panic(err)
	}

	topCrop, err := smartcrop.SmartCrop(&img, 250, 250)
	if err != nil {
		panic(err)
	}
	fmt.Printf("Top crop: %+v\n", topCrop)
}

Also see the test-cases in crop_test.go for further working examples.

Development

API docs can be found here.

Join us on IRC: irc.freenode.net/#smartcrop

Continuous integration: Build Status

Documentation

Overview

package smartcrop implements a content aware image cropping library based on Jonas Wagner's smartcrop.js https://github.com/jwagner/smartcrop.js

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Crop

type Crop struct {
	X      int
	Y      int
	Width  int
	Height int
	Score  Score
}

func SmartCrop

func SmartCrop(img *image.Image, width, height int) (Crop, error)

SmartCrop applies the smartcrop algorithms on the the given image and returns the top crop or an error if somthing went wrong.

type Score

type Score struct {
	Detail     float64
	Saturation float64
	Skin       float64
	Total      float64
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL