Back to Adaptive Vision Library website

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

EnhanceSingleObjectMatch


Header: AVL.h
Namespace: avl
Module: MatchingPro

Improves accuracy of single object matching by adding a subpixel-precise adjustment.

Applications: Usually used after an edge-based template matching tool.

Syntax

C++
C#
 
void avl::EnhanceSingleObjectMatch
(
	const avl::Image& inImage,
	const avl::Object2D& inObject,
	const atl::Array<avl::Path>& inObjectEdges,
	bool inAllowScale,
	avl::Object2D& outObject,
	atl::Array<avl::Path>& outObjectEdges
)

Parameters

Name Type Default Description
Input value
inImage const Image& Input image
Input value
inObject const Object2D& Input object
Input value
inObjectEdges const Array<Path>& Input object edges
Input value
inAllowScale bool Determines if the object scale can be adjusted
Output value
outObject Object2D& Object with enhanced accuracy
Output value
outObjectEdges Array<Path>& Edges of the object with enhanced accuracy

Hints

  • In order to use the filter to fine-tune the results of template matching, connect the outObject and outObjectEdges outputs of the template matching filter to the inObject and inObjectEdges inputs, and the same input image to the inImage input. By default, the outObject and outObjectEdges outputs of the template matching filter are hidden, so one should use "Show/Hide Ports" option to make them visible.

Examples

When using template matching with EnhanceSingleObjectMatch filter, you may try to speed up template matching by increasing its inMinPyramidLevel parameter. The potential loss of template matching precision should be mitigated by the EnhanceSingleObjectMatch filter, as shown in the images below:
Without enhancement
With enhancement

Hardware Acceleration

This operation is optimized for SSSE3 technology for pixels of type: UINT8.

This operation is optimized for AVX2 technology for pixels of type: UINT8.

This operation is optimized for NEON technology for pixels of type: UINT8.

This operation supports automatic parallelization for multicore and multiprocessor systems.

See Also