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.