You are here: Start » Function Reference » Computer Vision » 1D Edge Detection » ScanSingleEdge
ScanSingleEdge
Header: | AVL.h |
---|---|
Namespace: | avl |
Module: | MetrologyBasic |
Locates the strongest transition between dark and bright pixels along a given path.
Applications: Very fast detection of an object (e.g. horizontal displacement of a bottle) and simple measurements (e.g. liquid level in a bottle).
Syntax
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& | EdgeScanParams ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 0.6f MinMagnitude: 5.0f EdgeTransition: BrightToDark ) | 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
Remarks
Read more about Local Coordinate Systems in Machine Vision Guide: Local Coordinate Systems.
This filter is a part of the 1D Edge Detection toolset. For a comprehensive introduction to this technique please refer to 1D Edge Detection and 1D Edge Detection - Subpixel Precision chapters of our Machine Vision Guide.
See Also
- CreateScanMap – Precomputes a data object that is required for fast 1D edge detection.
- ScanMultipleEdges – Locates multiple transitions between dark and bright pixels along a given path.
- ScanExactlyNEdges – Locates a specified number of the strongest transitions between dark and bright pixels along a given path.
- ScanSingleEdge_Direct – Locates the strongest transition between dark and bright pixels along a given path (without a scan map).