Back to Adaptive Vision Library website
You are here: Start » Function Reference » Computer Vision » Template Matching » LocateMultipleObjects_Edges2
LocateMultipleObjects_Edges2
Header: | AVL.h |
---|---|
Namespace: | avl |
Module: | MatchingPro |
Finds all occurrences of a predefined template on an image by comparing object edges.
Applications: Detection of multiple objects whose outlines are sharp and rigid. Often one of the first filters in a program.
Syntax
C++
C#
void avl::LocateMultipleObjects_Edges2 ( const avl::Image& inImage, atl::Optional<const avl::ShapeRegion&> inSearchRegion, atl::Optional<const avl::CoordinateSystem2D&> inSearchRegionAlignment, const avl::EdgeModel2& inEdgeModel, int inMinPyramidLevel, atl::Optional<int> inMaxPyramidLevel, float inEdgeThreshold, avl::EdgePolarityMode::Type inEdgePolarityMode, avl::EdgeNoiseLevel::Type inEdgeNoiseLevel, bool inIgnoreBoundaryObjects, float inMinScore, float inMinDistance, atl::Array<avl::Object2D>& outObjects, atl::Optional<atl::Array<atl::Array<avl::Path>>&> outObjectEdges = atl::NIL, atl::Optional<int&> outPyramidHeight = atl::NIL, atl::Optional<avl::ShapeRegion&> outAlignedSearchRegion = atl::NIL, atl::Array<avl::Image>& diagEdgePyramid, atl::Array<avl::Image>& diagMatchPyramid, atl::Array<atl::Array<float> >& diagScores )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inImage | const Image& | Image on which object occurrences will be searched | |||
inSearchRegion | Optional<const ShapeRegion&> | NIL | Region of possible object centers | ||
inSearchRegionAlignment | Optional<const CoordinateSystem2D&> | NIL | Adjusts the region of interest to the position of the inspected object | ||
inEdgeModel | const EdgeModel2& | Model of objects to be searched | |||
inMinPyramidLevel | int | 0 - 12 | 0 | Defines the lowest pyramid level at which object position is still refined | |
inMaxPyramidLevel | Optional<int> | 0 - 12 | 3 | Defines the total number of reduced resolution levels that can be used to speed up computations | |
inEdgeThreshold | float | 0.01 - | 10.0f | Minimum strength of edges used for matching with the model | |
inEdgePolarityMode | EdgePolarityMode::Type | MatchStrictly | Defines how edges with reversed polarity will contribute to the object score | ||
inEdgeNoiseLevel | EdgeNoiseLevel::Type | High | Defines how much noise the objects edges have | ||
inIgnoreBoundaryObjects | bool | False | Flag indicating whether objects crossing image boundary should be ignored or not | ||
inMinScore | float | 0.0 - 1.0 | 0.7f | Minimum score of object candidates accepted at each pyramid level | |
inMinDistance | float | 0.0 - | 10.0f | Minimum distance between two found objects | |
outObjects | Array<Object2D>& | Found objects | |||
outObjectEdges | Optional<Array<Array<Path>>&> | NIL | Model edges of the found objects | ||
outPyramidHeight | Optional<int&> | NIL | Highest pyramid level used to speed up computations | ||
outAlignedSearchRegion | Optional<ShapeRegion&> | NIL | Transformed input shape region | ||
diagEdgePyramid | Array<Image>& | Image edges used for matching at each pyramid level | |||
diagMatchPyramid | Array<Image>& | Candidate object locations found at each pyramid level | |||
diagScores | Array<Array<float> >& | Scores of the found objects at each pyramid level |
Optional Outputs
The computation of following outputs can be switched off by passing value atl::NIL
to these parameters: outObjectEdges, outPyramidHeight, outAlignedSearchRegion.
Read more about Optional Outputs.
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.