MIL_ID EdgeResultId, | //in |
MIL_INT SizeOfArray, | //in |
const MIL_DOUBLE *SrcArrayXPtr, | //in |
const MIL_DOUBLE *SrcArrayYPtr, | //in |
const MIL_DOUBLE *SrcArrayAnglePtr, | //in |
MIL_DOUBLE *DstArrayXPtr, | //out |
MIL_DOUBLE *DstArrayYPtr, | //out |
MIL_INT *DstArrayIndexPtr, | //out |
MIL_INT *DstArrayLabelPtr, | //out |
MIL_INT64 ControlFlag | //in |
This function retrieves the coordinates of edgels, from an Edge Finder result buffer, that correspond to the closest neighbors from a list of user-specified source point coordinates. You can also set a series of constraints that potential results must adhere to before being returned. To do so, use the appropriate settings in MedgeControl().
If your target image was associated with a camera calibration context but you want to retrieve positional and dimensional results in pixel units, use MedgeControl() with the M_RESULT_OUTPUT_UNITS control type set to M_PIXEL. Note that if you set M_RESULT_OUTPUT_UNITS to M_WORLD and the results were not obtained from a calibrated image, MedgeGetNeighbors() will generate an error. Additionally, if results were obtained from a calibrated source image, and you specify to retrieve results in world units, user-specified coordinates and constraints must be specified in the same world units as the coordinate system used to calculate the results.
Specifies the identifier of the Edge Finder result buffer from which to search for edgel candidates.
Specifies the number of points provided. This value represents how many user-specified point coordinates will be searched for in the Edge Finder result buffer.
When using a standard vector (std::vector) overload function in C++, you can pass M_DEFAULT to this parameter and MIL will automatically determine the size based on the number of items in the vector passed to the SrcArrayXPtr, SrcArrayYPtr, SrcArrayAnglePtr, DstArrayXPtr, DstArrayYPtr, DstArrayIndexPtr, or DstArrayLabelPtr parameter.
Specifies the address of the array containing the X-coordinate(s) of the source point(s).
Specifies the address of the array containing the Y-coordinate(s) of the source point(s).
Specifies the address of the array containing the constraint angle(s) used to refine the search for edgel candidates. Note that angle values (0° to 360°) are measured counter-clockwise and must be mapped between either 0 to 255 (for contour contexts) or 0 to 127 (for crest contexts).
If no value is required, set this parameter to M_NULL.
Specifies the address of the array in which the X-coordinate(s) of the edgel(s) found in the Edge Finder result buffer are to be written. If no edgels were found, ignore the information written. Note that if no edgels were found, the index (DstArrayIndexPtr) and label (DstArrayLabelPtr) of the edgels is M_NULL.
The size of the array must be equal to SizeOfArray multiplied by the maximum number of edgel candidates for each point (M_NEIGHBOR_MAXIMUM_NUMBER).
If no value is required, set this parameter to M_NULL.
Specifies the address of the array in which the Y-coordinate(s) of the edgel(s) found in the Edge Finder result buffer is to be written. If no edgels were found, ignore the information written. Note that if no edgels were found, the index (DstArrayIndexPtr) and label (DstArrayLabelPtr) of the edgels is M_NULL.
The size of the array must be equal to SizeOfArray multiplied by the maximum number of edgel candidates for each point (M_NEIGHBOR_MAXIMUM_NUMBER).
If no value is required, set this parameter to M_NULL.
Specifies the address of the array in which the index of the edgel(s) found in the Edge Finder result buffer is to be written. If no edgels were found, M_NULL is written.
The size of the array must be equal to SizeOfArray multiplied by the maximum number of edgel candidates for each point (M_NEIGHBOR_MAXIMUM_NUMBER).
If no value is required, set this parameter to M_NULL.
Specifies the address of the array in which the label of the edgel's edge found in the Edge Finder result buffer is to be written. If no edgels were found, M_NULL is written.
The size of the array must be equal to SizeOfArray multiplied by the maximum number of edgel candidates for each point (M_NEIGHBOR_MAXIMUM_NUMBER).
If no value is required, set this parameter to M_NULL.
Specifies the accuracy with which to return edgels.
For specifying the accuracy
|
|||||||||||||||||||||||||||||||||||||||
Value | Description | ||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Same as M_GET_EDGELS. |
||||||||||||||||||||||||||||||||||||||
M_GET_EDGELS |
Specifies that edgels are returned with normal accuracy. In this case, only edgels explicitly located in the Edge Finder result buffer can be returned. (summarize)Specifies that edgels are returned with normal accuracy. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_GET_SUBEDGELS |
Specifies that edgels are returned with high accuracy. In this case, a point between two edgels can be returned. When using M_GET_SUBEDGELS, the M_NEIGHBOR_MAXIMUM_NUMBER constraint in MedgeControl() must be set to 1. (summarize)Specifies that edgels are returned with high accuracy. (more details...) |
Header | Include mil.h. |
Library | Use mil.lib; miledge.lib. |
DLL | Requires mil.dll; miledge.dll. |