Documentation ¶
Overview ¶
Package objectdetection defines a functional way to create object detection pipelines by feeding in images from a gostream.ImageSource source.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ColorDetectorConfig ¶
type ColorDetectorConfig struct { SegmentSize int `json:"segment_size"` Tolerance float64 `json:"tolerance"` DetectColorString string `json:"detect_color"` // hex string "#RRGGBB" }
ColorDetectorConfig specifies the fields necessary for creating a color detector.
type Detection ¶
Detection returns a bounding box around the object and a confidence score of the detection.
type Detector ¶
Detector returns a slice of object detections from an input image.
func Build ¶
func Build(prep Preprocessor, det Detector, post Postprocessor) (Detector, error)
Build zips up a preprocessor-detector-postprocessor stream into a detector.
func NewColorDetector ¶
func NewColorDetector(cfg *ColorDetectorConfig) (Detector, error)
NewColorDetector is a detector that identifies objects based on color. It takes in a hue value between 0 and 360, and then defines a valid range around the hue of that color based on the tolerance. The color is considered valid if the pixel is between (hue - tol) <= color <= (hue + tol).
type Postprocessor ¶
Postprocessor defines a function that filters/modifies on an incoming array of Detections.
func NewAreaFilter ¶
func NewAreaFilter(area int) Postprocessor
NewAreaFilter returns a function that filters out detections below a certain area.
func NewScoreFilter ¶
func NewScoreFilter(conf float64) Postprocessor
NewScoreFilter returns a function that filters out detections below a certain confidence.
func SortByArea ¶
func SortByArea() Postprocessor
SortByArea returns a function that sorts the list of detections by area (largest first).
type Preprocessor ¶
Preprocessor will apply processing to an input image before feeding it into the detector.
func ComposePreprocessors ¶
func ComposePreprocessors(pSlice []Preprocessor) Preprocessor
ComposePreprocessors takes in a slice of Preprocessors and returns one Preprocessor function.
func RemoveColorChannel ¶
func RemoveColorChannel(col string) (Preprocessor, error)
RemoveColorChannel will set the requested channel color to 0 in every picture. only "R", "G", and "B" are allowed.
type Result ¶
Result holds all useful information for the detector: contains the original image, the preprocessed image, and the final detections.
type Source ¶
type Source struct {
// contains filtered or unexported fields
}
Source pulls an image from src and applies the detector pipeline to it, resulting in an image overlaid with detections. Fulfills gostream.ImageSource interface.
func NewSource ¶
func NewSource(src gostream.ImageSource, det Detector) (*Source, error)
NewSource builds the pipeline from an input ImageSource and Detector.