F_VN_MeasureEdgeDistance
Measure the distance between 2 parallel edges, using an interpolation method.
Can use available TwinCAT Job Tasks for executing parallel code regions.
Can return partial results when canceled by Watchdog.
Syntax
Definition:
FUNCTION F_VN_MeasureEdgeDistance : HRESULT
VAR_INPUT
ipSrcImage : ITcVnImage;
END_VAR
VAR_IN_OUT
fAvgDistance : REAL;
aStartPoint : TcVnPoint2_REAL;
aEndPoint : TcVnPoint2_REAL;
END_VAR
VAR_INPUT
eEdgeDirection : ETcVnEdgeDirection;
fMinStrength : REAL;
nSearchLines : UDINT;
hrPrev : HRESULT;
END_VAR
Inputs
Name |
Type |
Description |
---|---|---|
ipSrcImage |
Source image (1 channel) | |
eEdgeDirection |
Specification of the edge direction from aStartPoint to aEndPoint to search for | |
fMinStrength |
REAL |
Specification of the minimum strength (intensity difference) of the edge to search for |
nSearchLines |
UDINT |
Width of the search window, i.e. the number of search lines (1, 3, 5, 7, ...), centered around the line specified by aStartPoint and aEndPoint |
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
In/Outputs
Name |
Type |
Description |
---|---|---|
fAvgDistance |
REAL |
Returns the average distance between the detected edges |
aStartPoint |
Position from which to start the search process (in the direction of aEndPoint) | |
aEndPoint |
Position where the search process ends |
Further information
The function F_VN_MeasureEdgeDistance
localizes two linear edges and measures the average distance between them.
Parameter
Input image
The input image ipSrcImage
must be a 1-channel grayscale image.
Minimum distance (Return value)
The parameter fAvgDistance
returns the minimum distance between the two localized edges.
Parameters for edge localization
The remaining parameters are explained in detail in the chapter Edge localization.
Expert parameters
The expert version F_VN_MeasureEdgeDistanceExp contains additional parameters.
Application
The measurement of an edge distance looks like this, for example:
hr := F_VN_MeasureEdgeDistance(
ipSrcImage := ipImageIn,
fAvgDistance := fDistance
aStartPoint := aStartPoint,
aEndPoint := aEndPoint,
eEdgeDirection := TCVN_ED_LIGHT_TO_DARK,
fMinStrength := fMinStrength,
nSearchLines := nSearchLines,
hrPrev := hr
);
Related functions
- ClosestPointsBF for calculating the closest points in two point clouds
- MeasureAngleBetweenEdges for measuring the angle between two edges
- MeasureEdgeDistance for measuring the average distance between two edges
- MeasureMinEdgeDistance for measuring the minimum distance between two edges
Required License
TC3 Vision Metrology 2D
System Requirements
Development environment | Target platform | PLC libraries to include |
---|---|---|
TwinCAT V3.1.4024.54 or later | PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU | Tc3_Vision |