Back to Adaptive Vision Library websiteYou are here:
Start »
Function Reference »
Shape Fitting 3D »
MeasureObjectWidth3D
Measures the width of an object using stripe detection.
Syntax
C++
C#
void avl::MeasureObjectWidth3D
(
const avl::Surface& inSurface,
const atl::Array<avl::ScanMap>& inMeasurementMap,
const avl::StripeScanParams3D& inStripeScanParams,
avl::MeasureObjectMethod::Type inMeasureMethod,
avl::Selection::Type inStripeSelection,
atl::Optional<const avl::LocalBlindness&> inLocalBlindness,
atl::Optional<int> inMaxProfileGapWidth,
atl::Optional<avl::MEstimator::Type> inOutlierSuppression,
int inOutlierCount,
atl::Conditional<float>& outObjectWidth,
atl::Conditional<avl::Segment2D>& outSegment1,
atl::Conditional<avl::Segment2D>& outSegment2,
atl::Array<avl::Point3D>& diagPoints1,
atl::Array<avl::Point3D>& diagPoints2
)
void MeasureObjectWidth3D
(
Surface inSurface,
ScanMap[] inMeasurementMap,
StripeScanParams3D inStripeScanParams,
MeasureObjectMethod inMeasureMethod,
Selection inStripeSelection,
LocalBlindness? inLocalBlindness,
int? inMaxProfileGapWidth,
MEstimator? inOutlierSuppression,
int inOutlierCount,
out float? outObjectWidth,
out Segment2D? outSegment1,
out Segment2D? outSegment2,
out Point3D[] diagPoints1,
out Point3D[] diagPoints2
)
Parameters
|
Name |
Type |
Range |
Default |
Description |
|
inSurface |
const Surface& |
|
|
Input surface |
|
inMeasurementMap |
const Array<ScanMap>& |
|
|
Input measurement map |
|
inStripeScanParams |
const StripeScanParams3D& |
|
|
Parameters controlling the object stripe extraction process |
|
inMeasureMethod |
MeasureObjectMethod::Type |
|
|
Method used to measure the object |
|
inStripeSelection |
Selection::Type |
|
Selection::Best |
Selection mode of edges of the object |
|
inLocalBlindness |
Optional<const LocalBlindness&> |
|
NIL |
Defines conditions in which weaker edges can be detected in the vicinity of stronger edges |
|
inMaxProfileGapWidth |
Optional<int> |
0 - |
NIL |
Maximal number of consecutive not existing profile points |
|
inOutlierSuppression |
Optional<MEstimator::Type> |
|
NIL |
Selects a method for ignoring incorrectly detected points |
|
inOutlierCount |
int |
0 - |
|
Determines how many outlying points are rejected before the width is measured |
|
outObjectWidth |
Conditional<float>& |
|
|
Width of the object |
|
outSegment1 |
Conditional<Segment2D>& |
|
|
First edge of the object |
|
outSegment2 |
Conditional<Segment2D>& |
|
|
Second edge of the object |
|
diagPoints1 |
Array<Point3D>& |
|
|
Detected edge points on the first side |
|
diagPoints2 |
Array<Point3D>& |
|
|
Detected edge points on the second side |
Errors
Error type |
Description |
DomainError |
Invalid MeasurementMap in MeasureObjectWidth3D function. Use CreateSurfaceMeasurementMap function to create it properly. |