You are here: Start » Function Reference » Computer Vision » 1D Edge Detection » ScanSingleStripe
ScanSingleStripe
| Header: | AVL.h | 
|---|---|
| Namespace: | avl | 
| Module: | MetrologyBasic | 
Locates the strongest pair of edges across a given path.
Applications: Very fast detection or measurement of an object defined by a pair of opposite edges.
Syntax
void avl::ScanSingleStripe ( const avl::Image& inImage, const ScanMap& inScanMap, const StripeScanParams& inStripeScanParams, avl::Selection::Type inStripeSelection, atl::Optional<const avl::LocalBlindness&> inLocalBlindness, atl::Conditional<avl::Stripe1D>& outStripe, atl::Optional<avl::Profile&> outBrightnessProfile = atl::NIL, atl::Optional<avl::Profile&> outResponseProfile = atl::NIL )
Parameters
| Name | Type | Default | Description | |
|---|---|---|---|---|
![]()  | 
				inImage | const Image& | Input image | |
![]()  | 
				inScanMap | const ScanMap& | Data precomputed with CreateScanMap | |
![]()  | 
				inStripeScanParams | const StripeScanParams& | StripeScanParams ( ProfileInterpolation: Quadratic4 SmoothingStdDev: 0.6f MinMagnitude: 5.0f MaxInnerEdgeMagnitude: Nil StripePolarity: Dark MinStripeWidth: 0.0f MaxStripeWidth: Nil ) | Parameters controlling the stripe extraction process | 
![]()  | 
				inStripeSelection | Selection::Type | Selection::Best | Selection mode of the resulting stripe | 
![]()  | 
				inLocalBlindness | Optional<const LocalBlindness&> | NIL | Defines conditions in which weaker edges can be detected in the vicinity of stronger edges | 
![]()  | 
				outStripe | Conditional<Stripe1D>& | Found stripe | |
![]()  | 
				outBrightnessProfile | Optional<Profile&> | NIL | Extracted image profile | 
![]()  | 
				outResponseProfile | Optional<Profile&> | NIL | Profile of the edge (derivative) operator response | 
Optional Outputs
The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outBrightnessProfile, outResponseProfile.
Read more about Optional Outputs.
Description
The operation scans the image using inScanMap previously generated from a scan path and locates the strongest stripe (i.e. a pair of opposite-polarity edges running across the path) of the given characteristics. If there is no such stripe then the outputs are set to NIL.
Hints
- Define inStripeScanParams.StripePolarity to detect a particular edge type, and only that type.
 - If no stripe is found, try decreasing inStripeScanParams.MinMagnitude. Verify this with the values on the outResponseProfile output.
 - If consecutive edges are closer than 6 pixels apart, change inStripeScanParams.ProfileInterpolation to Quadratic3.
 
Examples
ScanSingleStripe locates the strongest stripe using a scan map representing the scan path above.
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.
 
- ScanMultipleStripes – Locates multiple pairs of edges across a given path.
 
- ScanExactlyNStripes – Locates a specified number of multiple pairs of opposite edges across a given path.
 
- ScanSingleStripe_Direct – Locates the strongest pair of edges across a given path (without a scan map).
 


