Documentation ¶
Overview ¶
Package smartcrop implements a content aware image cropping library based on Jonas Wagner's smartcrop.js https://github.com/jwagner/smartcrop.js
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 ¶
var DefaultConfig = Config{ DetailWeight: 0.2, SkinBias: 0.01, SkinBrightnessMin: 0.2, SkinBrightnessMax: 1.0, SkinThreshold: 0.8, SkinWeight: 1.8, SaturationBrightnessMin: 0.05, SaturationBrightnessMax: 0.9, SaturationThreshold: 0.4, SaturationBias: 0.2, SaturationWeight: 0.3, ScoreDownSample: 8, Step: 8, ScaleStep: 0.1, MinScale: 0.9, MaxScale: 1.0, EdgeRadius: 0.4, EdgeWeight: -20.0, OutsideImportance: -0.5, RuleOfThirds: true, Prescale: true, PrescaleMin: 400.00, FaceDetectEnabled: false, FaceDetectClassifierFile: "", }
var ( // ErrInvalidDimensions gets returned when the supplied dimensions are invalid ErrInvalidDimensions = errors.New("Expect either a height or width") )
var FaceDetectConfig = Config{ DetailWeight: 5.2, SkinBias: 0.01, SkinBrightnessMin: 0.2, SkinBrightnessMax: 1.0, SkinThreshold: 0.8, SkinWeight: 5.8, SaturationBrightnessMin: 0.05, SaturationBrightnessMax: 0.9, SaturationThreshold: 0.4, SaturationBias: 0.2, SaturationWeight: 5.5, ScoreDownSample: 2, Step: 8, ScaleStep: 0.1, MinScale: 1.0, MaxScale: 1.0, EdgeRadius: 0.4, EdgeWeight: -20.0, OutsideImportance: -0.5, RuleOfThirds: true, Prescale: false, PrescaleMin: 400.0, FaceDetectEnabled: true, FaceDetectClassifierFile: "", }
FaceDetectConfig is a tweaked version of the DefaultConfig that has been optimised for smart cropping with face detection enabled.
Functions ¶
This section is empty.
Types ¶
type Analyzer ¶
type Analyzer interface { FindBestCrop(img image.Image, width, height int) (image.Rectangle, error) FindAllCrops(img image.Image, width, height int) ([]Crop, error) FindFaces(img image.Image) []image.Rectangle }
Analyzer interface analyzes its struct and returns the best possible crop with the given width and height returns an error if invalid
func NewAnalyzer ¶
NewAnalyzer returns a new Analyzer using the given Resizer.
func NewAnalyzerWithLogger ¶ added in v0.3.0
NewAnalyzerWithLogger returns a new analyzer with the given Resizer and Logger.
type Config ¶ added in v0.3.1
type Config struct { DetailWeight float64 SkinBias float64 SkinBrightnessMin float64 SkinBrightnessMax float64 SkinThreshold float64 SkinWeight float64 SaturationBrightnessMin float64 SaturationBrightnessMax float64 SaturationThreshold float64 SaturationBias float64 SaturationWeight float64 ScoreDownSample int Step int ScaleStep float64 MinScale float64 MaxScale float64 EdgeRadius float64 EdgeWeight float64 OutsideImportance float64 RuleOfThirds bool Prescale bool PrescaleMin float64 FaceDetectEnabled bool FaceDetectClassifierFile string }