Name
detect_edge_segmentsT_detect_edge_segmentsDetectEdgeSegmentsdetect_edge_segmentsDetectEdgeSegmentsDetectEdgeSegments — Detect straight edge segments.
Herror detect_edge_segments(Hobject Image, const HTuple& SobelSize, const HTuple& MinAmplitude, const HTuple& MaxDistance, const HTuple& MinLength, HTuple* BeginRow, HTuple* BeginCol, HTuple* EndRow, HTuple* EndCol)
HTuple HImage::DetectEdgeSegments(const HTuple& SobelSize, const HTuple& MinAmplitude, const HTuple& MaxDistance, const HTuple& MinLength, HTuple* BeginCol, HTuple* EndRow, HTuple* EndCol) const
HTuple HImageArray::DetectEdgeSegments(const HTuple& SobelSize, const HTuple& MinAmplitude, const HTuple& MaxDistance, const HTuple& MinLength, HTuple* BeginCol, HTuple* EndRow, HTuple* EndCol) const
void DetectEdgeSegments(const HObject& Image, const HTuple& SobelSize, const HTuple& MinAmplitude, const HTuple& MaxDistance, const HTuple& MinLength, HTuple* BeginRow, HTuple* BeginCol, HTuple* EndRow, HTuple* EndCol)
void HImage::DetectEdgeSegments(Hlong SobelSize, Hlong MinAmplitude, Hlong MaxDistance, Hlong MinLength, HTuple* BeginRow, HTuple* BeginCol, HTuple* EndRow, HTuple* EndCol) const
void HOperatorSetX.DetectEdgeSegments(
[in] IHUntypedObjectX* Image, [in] VARIANT SobelSize, [in] VARIANT MinAmplitude, [in] VARIANT MaxDistance, [in] VARIANT MinLength, [out] VARIANT* BeginRow, [out] VARIANT* BeginCol, [out] VARIANT* EndRow, [out] VARIANT* EndCol)
VARIANT HImageX.DetectEdgeSegments(
[in] Hlong SobelSize, [in] Hlong MinAmplitude, [in] Hlong MaxDistance, [in] Hlong MinLength, [out] VARIANT* BeginCol, [out] VARIANT* EndRow, [out] VARIANT* EndCol)
static void HOperatorSet.DetectEdgeSegments(HObject image, HTuple sobelSize, HTuple minAmplitude, HTuple maxDistance, HTuple minLength, out HTuple beginRow, out HTuple beginCol, out HTuple endRow, out HTuple endCol)
void HImage.DetectEdgeSegments(int sobelSize, int minAmplitude, int maxDistance, int minLength, out HTuple beginRow, out HTuple beginCol, out HTuple endRow, out HTuple endCol)
detect_edge_segmentsdetect_edge_segmentsDetectEdgeSegmentsdetect_edge_segmentsDetectEdgeSegmentsDetectEdgeSegments detects straight edge segments in the gray
image ImageImageImageImageImageimage. The extracted edge segments are returned as
line segments with start point (BeginRowBeginRowBeginRowBeginRowBeginRowbeginRow,BeginColBeginColBeginColBeginColBeginColbeginCol)
and end point (EndRowEndRowEndRowEndRowEndRowendRow,EndColEndColEndColEndColEndColendCol). Edge detection
is based on the Sobel filter, using 'sum_abs' as parameter and
SobelSizeSobelSizeSobelSizeSobelSizeSobelSizesobelSize as the filter mask size (see
sobel_ampsobel_ampSobelAmpsobel_ampSobelAmpSobelAmp). Only pixels with a filter response larger
than MinAmplitudeMinAmplitudeMinAmplitudeMinAmplitudeMinAmplitudeminAmplitude are used as candidates for edge points.
These thresholded edge points are thinned and split into straight
segments. Due to technical reasons, edge points in which several
edges meet are lost. Therefore, detect_edge_segmentsdetect_edge_segmentsDetectEdgeSegmentsdetect_edge_segmentsDetectEdgeSegmentsDetectEdgeSegments usually
does not return closed object contours. The parameter
MaxDistanceMaxDistanceMaxDistanceMaxDistanceMaxDistancemaxDistance controls the maximum allowed distance of an
edge point to its approximating line. For efficiency reasons, the
sum of the absolute values of the coordinate differences is used
instead of the Euclidean distance. MinLengthMinLengthMinLengthMinLengthMinLengthminLength controls
the minimum length of the line segments. Lines shorter than
MinLengthMinLengthMinLengthMinLengthMinLengthminLength are not returned.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
Mask size of the Sobel operator.
Default value: 5
List of values: 3, 5, 7, 9, 11, 13
Minimum edge strength.
Default value: 32
Suggested values: 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 80, 90, 100, 110
Typical range of values: 1
≤
MinAmplitude
MinAmplitude
MinAmplitude
MinAmplitude
MinAmplitude
minAmplitude
≤
255
Minimum increment: 1
Recommended increment: 1
Restriction: MinAmplitude >= 0
Maximum distance of the approximating line to
its original edge.
Default value: 3
Suggested values: 2, 3, 4, 5, 6, 7, 8
Typical range of values: 1
≤
MaxDistance
MaxDistance
MaxDistance
MaxDistance
MaxDistance
maxDistance
≤
30
Minimum increment: 1
Recommended increment: 1
Restriction: MaxDistance >= 0
Minimum length of to resulting line segments.
Default value: 10
Suggested values: 3, 5, 7, 9, 11, 13, 16, 20
Typical range of values: 1
≤
MinLength
MinLength
MinLength
MinLength
MinLength
minLength
≤
500
Minimum increment: 1
Recommended increment: 1
Restriction: MinLength >= 0
Row coordinate of the line segments' start points.
Column coordinate of the line segments' start points.
Row coordinate of the line segments' end points.
Column coordinate of the line segments' end points.
Htuple SobelSize,MinAmplitude,MaxDistance,MinLength;
Htuple RowBegin,ColBegin,RowEnd,ColEnd;
create_tuple(&SobelSize,1);
set_i(SobelSize,5,0);
create_tuple(&MinAmplitude,1);
set_i(MinAmplitude,32,0);
create_tuple(&MaxDistance,1);
set_i(MaxDistance,3,0);
create_tuple(&MinLength,1);
set_i(MinLength,10,0);
T_detect_edge_segments(Image,SobelSize,MinAmplitude,MaxDistance,MinLength,
&RowBegin,&ColBegin,&RowEnd,&ColEnd);
detect_edge_segmentsdetect_edge_segmentsDetectEdgeSegmentsdetect_edge_segmentsDetectEdgeSegmentsDetectEdgeSegments returns 2 (H_MSG_TRUE) if all parameters are
correct. If the input is empty the behaviour can be set via
set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If
necessary, an exception is raised.
sigma_imagesigma_imageSigmaImagesigma_imageSigmaImageSigmaImage,
median_imagemedian_imageMedianImagemedian_imageMedianImageMedianImage
select_linesselect_linesSelectLinesselect_linesSelectLinesSelectLines,
partition_linespartition_linesPartitionLinespartition_linesPartitionLinesPartitionLines,
select_lines_longestselect_lines_longestSelectLinesLongestselect_lines_longestSelectLinesLongestSelectLinesLongest,
line_positionline_positionLinePositionline_positionLinePositionLinePosition,
line_orientationline_orientationLineOrientationline_orientationLineOrientationLineOrientation
sobel_ampsobel_ampSobelAmpsobel_ampSobelAmpSobelAmp,
thresholdthresholdThresholdthresholdThresholdThreshold,
skeletonskeletonSkeletonskeletonSkeletonSkeleton
Foundation