Documentation ¶
Index ¶
- Constants
- func EucMetric(iconA, iconB IconT) (m1, m2, m3 float64)
- func Get(icon IconT, size int, p image.Point) (c1, c2, c3 float64)
- func Open(path string) (img image.Image, err error)
- func PropMetric(iconA, iconB IconT) (m float64)
- func SaveToJPG(img *image.RGBA, path string, quality int)
- func SaveToPNG(img *image.RGBA, path string)
- func Set(icon IconT, size int, p image.Point, c1, c2, c3 float64)
- func Similar(iconA, iconB IconT) bool
- type IconT
Constants ¶
const ( // Image resolution of the icon is very small // (11x11 pixels), therefore original image details // are lost in downsampling, except when source images // have very low resolution (e.g. favicons or simple // logos). This is useful from the privacy perspective // if you are to use generated icons in a large searchable // database. IconSize = 11 // Exported to be used in package imagehash. )
Variables ¶
This section is empty.
Functions ¶
func EucMetric ¶
EucMetric returns Euclidean distances between 2 icons. These are 3 metrics corresponding to each color channel. Distances are squared, not to waste CPU on square root calculations. Note: color channels of icons are YCbCr (not RGB).
func Get ¶ added in v1.1.0
Get reads pixel values in an icon at a point. c1, c2, c3 are color values for each channel (RGB for example). Exported to be used in package imagehash.
func PropMetric ¶
PropMetric gives image proportion similarity metric for image A and B. The smaller the metric the more similar are images by their x-y size.
Types ¶
type IconT ¶
type IconT struct { Pixels []uint16 // Visual signature. ImgSize image.Point // Original image size. }
Icon has square shape. Its pixels are uint16 values in 3 channels. uint16 is intentional to preserve color relationships from the full-size image. It is a 255- premultiplied color value in [0, 255] range.
func EmptyIcon ¶
func EmptyIcon() (icon IconT)
EmptyIcon is an icon constructor in case you need an icon with nil values, for example for convenient error handling. Then you can use icon.Pixels == nil condition.
func Icon ¶
Icon generates a normalized image signature ("icon"). Generated icons can then be stored in a database and used for comparison. Icon is the recommended function, vs less robust func IconNN.
func IconNN ¶
IconNN generates a NON-normalized image signature (icon). Icons made with IconNN can be used instead of icons made with func Icon, but mostly for experimental purposes, allowing better understand how the algorithm works, or performing less agressive customized normalization. Not for general use.