Back to Adaptive Vision Library website

You are here: Start » Function Reference » Path » Path Features » PathTurnAngleLocalMaxima

PathTurnAngleLocalMaxima


Header: AVL.h
Namespace: avl
Module: FoundationPro

Finds the local maxima of the profile of turn angles of a path.

Applications: Detection of feature points related to object corners.

Syntax

C++
C#
 
void avl::PathTurnAngleLocalMaxima
(
	const avl::Path& inPath,
	avl::TurnAngleDirection::Type inAllowedTurnDirection,
	avl::TurnAnglePrecision::Type inResultPrecision,
	const float inMinTurnAngle,
	const float inMinDistance,
	const float inSmoothingStdDev,
	atl::Array<float>& outTurnAngleMaximaIndices,
	atl::Array<avl::Point2D>& outTurnAngleMaximaPoints,
	atl::Array<float>& outTurnAngleMaximaAngles,
	avl::Path& diagSmoothedPath,
	avl::Profile& diagTurnAngleProfile
)

Parameters

Name Type Range Default Description
inPath const Path& Input path
inAllowedTurnDirection TurnAngleDirection::Type All Allows to detect only left-turns, only right-turns or both
inResultPrecision TurnAnglePrecision::Type Switches between pixel-precise or subpixel-precise detection of the found maxima
inMinTurnAngle const float 0.0 - 180.0 30.0f Minimal value of a relevant angle
inMinDistance const float 0.0 - 0.0f Minimal distance on the path between two local maxima assuming each path segment has unit length
inSmoothingStdDev const float 0.0 - 0.6f Standard deviation of the gaussian smoothing applied to the input path
outTurnAngleMaximaIndices Array<float>& Indices of found local maxima
outTurnAngleMaximaPoints Array<Point2D>& Found local maxima of turn angle profile of the smoothed input path
outTurnAngleMaximaAngles Array<float>& Turn angles of found local maxima
diagSmoothedPath Path& Input path smoothed with gaussian kernel
diagTurnAngleProfile Profile& Profile of turn angles at characteristic points of the smoothed input path

Description

The operation computes the profile of turn angles of a path and finds the local maxima of the profile having value at least inMinTurnAngle. The inAllowedTurnDirection parameter restricts kind of turns taken into consideration (left-turns only, right-turns only or both), while inResultPrecision determines the precision of the resulting maxima points. Found maxima have to be at least inMinDistance from each other (the distance is measured along the input path assuming each path segment has unit length).

Examples

PathTurnAngleLocalMaxima run on the sample path with inAllowedTurnDirection = Right

See Also