Back to Aurora Vision Library website
You are here: Start » Function Reference » Computer Vision » Shape Fitting 3D » FitSegmentToEdges3D
FitSegmentToEdges3D
Header: | AVL.h |
---|---|
Namespace: | avl |
Module: | Vision3DStandard |
Performs a series of 1D edge detections and finds a segment that best matches the detected points.
Applications: Precise detection of a straight edge, whose rough location is known beforehand.
Syntax
C++
C#
void avl::FitSegmentToEdges3D ( const avl::Surface& inSurface, const avl::SegmentFittingMap& inFittingMap, const EdgeScanParams3D& inEdgeScanParams, avl::Selection::Type inEdgeSelection, atl::Optional<const avl::LocalBlindness&> inLocalBlindness, atl::Optional<int> inMaxProfileGapWidth, float inMaxIncompleteness, atl::Optional<avl::MEstimator::Type> inOutlierSuppression, atl::Conditional<avl::Segment3D>& outSegment, atl::Optional<atl::Array<atl::Conditional<avl::SurfaceEdge1D>>&> outEdges = atl::NIL, atl::Optional<atl::Conditional<avl::Profile>&> outDeviationProfile = atl::NIL, atl::Optional<atl::Array<avl::Point3D>&> outInliers = atl::NIL, atl::Optional<atl::Array<avl::Profile>&> outHeightProfiles = atl::NIL, atl::Optional<atl::Array<avl::Profile>&> outResponseProfiles = atl::NIL )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
inSurface | const Surface& | Surface to fit segment to | |||
inFittingMap | const SegmentFittingMap& | Input fitting map | |||
inEdgeScanParams | const EdgeScanParams3D& | Parameters controlling the edge extraction process | |||
inEdgeSelection | Selection::Type | Selection::Best | Selection mode of edges | ||
inLocalBlindness | Optional<const LocalBlindness&> | NIL | Defines conditions in which weaker edges can be detected in the vicinity of stronger edges | ||
inMaxProfileGapWidth | Optional<int> | 0 - | 1 | Maximal number of consecutive not existing profile points | |
inMaxIncompleteness | float | 0.0 - 0.999 | 0.1f | Maximal fraction of edge points not found | |
inOutlierSuppression | Optional<MEstimator::Type> | NIL | Selects a method for ignoring incorrectly detected points | ||
outSegment | Conditional<Segment3D>& | Fitted segment or nothing if the fitting fails | |||
outEdges | Optional<Array<Conditional<SurfaceEdge1D>>&> | NIL | Found edges | ||
outDeviationProfile | Optional<Conditional<Profile>&> | NIL | Profile of distances between the actual segment points and the corresponding reference segment points | ||
outInliers | Optional<Array<Point3D>&> | NIL | Points matching the fitting segment | ||
outHeightProfiles | Optional<Array<Profile>&> | NIL | Extracted surface height profiles | ||
outResponseProfiles | Optional<Array<Profile>&> | NIL | Profiles 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: outEdges, outDeviationProfile, outInliers, outHeightProfiles, outResponseProfiles.
Read more about Optional Outputs.
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.