Back to FabImage Library website
You are here: Start » Function Reference » Computer Vision » Template Matching » LocateMultipleObjects_Edges_Deprecated

LocateMultipleObjects_Edges_Deprecated
Header: | FIL.h |
---|---|
Namespace: | fil |
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
void fil::LocateMultipleObjects_Edges_Deprecated ( const fil::Image& inImage, ftl::Optional<const fil::Region&> inSearchRegion, const fil::EdgeModel& inEdgeModel, int inMinPyramidLevel, ftl::Optional<int> inMaxPyramidLevel, float inEdgeThreshold, fil::EdgePolarityMode::Type inEdgePolarityMode, fil::EdgeNoiseLevel::Type inEdgeNoiseLevel, bool inIgnoreBoundaryObjects, float inMinScore, float inMinDistance, ftl::Array<fil::Object2D>& outObjects, ftl::Optional<ftl::Array<ftl::Array<fil::Path>>&> outObjectEdges = ftl::NIL, ftl::Optional<int&> outPyramidHeight = ftl::NIL, ftl::Array<fil::Image>& diagEdgePyramid, ftl::Array<fil::Image>& diagMatchPyramid, ftl::Array<ftl::Array<float> >& diagScores )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
inImage | const Image& | Image on which object occurrences will be searched | ||
![]() |
inSearchRegion | Optional<const Region&> | NIL | Region of possible object centers | |
![]() |
inEdgeModel | const EdgeModel& | 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 | |
![]() |
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 ftl::NIL
to these parameters: outObjectEdges, outPyramidHeight.
Read more about Optional Outputs.
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.