Back to Adaptive Vision Library website

You are here: Start » Function Reference » Computer Vision » Template Matching » LocateMultipleObjects_Edges_Deprecated

LocateMultipleObjects_Edges_Deprecated


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

void avl::LocateMultipleObjects_Edges_Deprecated
(
	const avl::Image& inImage,
	atl::Optional<const avl::Region&> inSearchRegion,
	const avl::EdgeModel& 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::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 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 atl::NIL to these parameters: outObjectEdges, outPyramidHeight.

Read more about Optional Outputs.

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.