Back to Adaptive Vision Library website

You are here: Start » Function Reference » 1D Edge Detection » ScanSingleEdge

# ScanSingleEdge

Locates the strongest transition between dark and bright pixels along a given path.

### Syntax

C++
C#

void avl::ScanSingleEdge
(
const avl::Image& inImage,
const avl::ScanMap& inScanMap,
const avl::EdgeScanParams& inEdgeScanParams,
avl::Selection::Type inEdgeSelection,
atl::Optional<const avl::LocalBlindness&> inLocalBlindness,
atl::Conditional<avl::Edge1D>& outEdge,
avl::Profile& diagBrightnessProfile,
avl::Profile& diagResponseProfile
)

### Parameters

Name Type Default Description
inImage const Image& Input image
inScanMap const ScanMap& Data precomputed with CreateScanMap
inEdgeScanParams const EdgeScanParams& Parameters controlling the edge extraction process
inEdgeSelection Selection::Type Selection::​Best Selection mode of the resulting edge
inLocalBlindness Optional<const LocalBlindness&> NIL Defines conditions in which weaker edges can be detected in the vicinity of stronger edges
outEdge Conditional<Edge1D>& Found edge
diagBrightnessProfile Profile& Extracted image profile
diagResponseProfile Profile& Profile of the edge (derivative) operator response

### Description

The operation scans the image using inScanMap previously generated from a scan path and locates the strongest edge perpendicular to the path. If the strongest edge is weaker than inEdgeScanParams.minMagnitude then the outputs are set to NIL.

### Hints

• Define inEdgeScanParams.EdgeTransition to detect a particular edge type, and only that type.
• If no edge is found, try decreasing inEdgeScanParams.MinMagnitude. Verify this with the values on the diagResponseProfile output.
• If consecutive edges are closer than 6 pixels apart, change inEdgeScanParams.ProfileInterpolation to Quadratic3.

### Examples

ScanSingleEdge locates the strongest edge using a scan map representing the scan path above.