detect

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2021 License: BSD-3-Clause Imports: 11 Imported by: 0

Documentation

Overview

Package detect implements an object detector cascade.

The technique used is a degenerate tree of Haar-like classifiers, commonly used for face detection. It is described in

P. Viola, M. Jones.
Rapid Object Detection using a Boosted Cascade of Simple Features, 2001
IEEE Conference on Computer Vision and Pattern Recognition

A Cascade can be constructed manually from a set of Classifiers in stages, or can be loaded from an XML file in the OpenCV format with

classifier, _, err := detect.ParseOpenCV(r)

The classifier can be used to determine if a full image is detected as an object using Detect

if classifier.Match(m) {
	// m is an image of a face.
}

It is also possible to search an image for occurrences of an object

objs := classifier.Find(m)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cascade

type Cascade struct {
	Stage []CascadeStage
	Size  image.Point
}

Cascade is a degenerate tree of Haar-like classifiers.

func ParseOpenCV

func ParseOpenCV(r io.Reader) (cascade *Cascade, name string, err error)

ParseOpenCV produces a detection Cascade from an OpenCV XML file.

func (*Cascade) Find

func (c *Cascade) Find(m image.Image) []image.Rectangle

Find returns a set of areas of m that match the feature cascade c.

func (*Cascade) Match

func (c *Cascade) Match(m image.Image) bool

Match returns true if the full image is classified as an object.

type CascadeStage

type CascadeStage struct {
	Classifier []Classifier
	Threshold  float64
}

CascadeStage is a cascade of classifiers.

type Classifier

type Classifier struct {
	Feature   []Feature
	Threshold float64
	Left      float64
	Right     float64
}

Classifier is a set of features with a threshold.

type Feature

type Feature struct {
	Rect   image.Rectangle
	Weight float64
}

Feature is a Haar-like feature.

Notes

Bugs

  • tag-based parsing doesn't seem to work with <_>

Jump to

Keyboard shortcuts

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