Documentation ¶
Overview ¶
Package objectdetection defines a functional way to create object detection pipelines by feeding in images from a gostream.VideoSource source.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ColorDetectorConfig ¶
type ColorDetectorConfig struct { resource.TriviallyValidateConfig SegmentSize int `json:"segment_size_px"` HueTolerance float64 `json:"hue_tolerance_pct"` SaturationCutoff float64 `json:"saturation_cutoff_pct,omitempty"` ValueCutoff float64 `json:"value_cutoff_pct,omitempty"` DetectColorString string `json:"detect_color"` // hex string "#RRGGBB" Label string `json:"label,omitempty"` }
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) and if the saturation and value level are above their cutoff points.
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 NewLabelConfidenceFilter ¶ added in v0.26.0
func NewLabelConfidenceFilter(labels map[string]float64) Postprocessor
NewLabelConfidenceFilter returns a function that filters out detections based on label map. Does not filter when input is empty.
func NewLabelFilter ¶ added in v0.17.0
func NewLabelFilter(labels map[string]interface{}) Postprocessor
NewLabelFilter returns a function that filters out detections without one of the chosen labels. Does not filter when input is empty.
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.