MIL_ID ContextGraId, | //in |
MIL_ID ResultBlobId, | //in |
MIL_ID DstImageBufOrListGraId, | //in |
MIL_INT64 Operation, | //in |
MIL_INT LabelOrIndex, | //in |
MIL_INT64 ControlFlag | //in |
This function draws specific blob features, which were calculated using MblobCalculate(), in the destination image buffer or 2D graphics list. This function can draw multiple features at a time.
You can draw results obtained relative to an offset, at the top-left corner of the destination image, using MgraControl() with M_DRAW_OFFSET_X and M_DRAW_OFFSET_Y and zoom them using MgraControl() with M_DRAW_ZOOM_X and M_DRAW_ZOOM_Y. For example, you can draw a zoomed section of the blobs found in the target image at the top-left corner of the destination image. For more information, see the Drawing graphics with offset and zoom subsection of the Drawing graphics section of Chapter 24: Generating graphics.
Specifies the identifier of the 2D graphics context to use when drawing. This parameter must be set to one of the following values:
For specifying the 2D graphics context
|
|||||||||||||||||||||||||||||||||||||||
Value | Description | ||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies that the default 2D graphics context of the current MIL application is used. Note that there is a different default 2D graphics context for each thread. (summarize)Specifies that the default 2D graphics context of the current MIL application is used. (more details...) |
||||||||||||||||||||||||||||||||||||||
MIL 2D graphics context identifier |
Specifies a valid 2D graphics context identifier, which you have allocated using MgraAlloc(). |
Specifies the identifier of the Blob Analysis result buffer from which to retrieve the features to draw.
Specifies the identifier of the destination image buffer or 2D graphics list in which to draw. The buffer can be any valid MIL image buffer allocated using MbufAlloc...(). The 2D graphics list must be previously allocated using MgraAllocList(). By drawing into a display's overlay buffer or associating the 2D graphics list with the display, you can also annotate an image non-destructively.
If specifying an image buffer, it must not have a region of interest (ROI) associated with it. Using an image buffer with an ROI will cause an error.
Specifies the type of operation to perform.
The values in the tables below can be added together to draw multiple features at a time. For example, to draw the contour, holes, and position of the blobs, you would specify M_DRAW_BLOBS_CONTOUR + M_DRAW_HOLES + M_DRAW_POSITION.
The following operations can draw in a destination image buffer or 2D graphics list.
For specifying the type of operation
|
|||||||||||||||||||||||||||||||||||||||
Value | Description | ||||||||||||||||||||||||||||||||||||||
M_DRAW_AXIS |
Draws a cross at the blobs' center of gravity, respecting the principal and secondary axes. Note that to perform this operation, one feature among M_AXIS_PRINCIPAL_ANGLE or M_AXIS_SECONDARY_ANGLE must have been calculated using the binary definition. (summarize)Draws a cross at the blobs' center of gravity, respecting the principal and secondary axes. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_BLOBS |
Draws the blobs. Note that to perform this operation, runs must have been previously saved using MblobControl() with M_SAVE_RUNS set to M_ENABLE. When drawing in either an image buffer or a 2D graphics list, MgraControl() with M_INPUT_UNITS cannot be set to M_WORLD for this operation. (summarize)Draws the blobs. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_BLOBS_CONTOUR |
Draws the external outline of the blobs. Note that to perform this operation, runs must have been previously saved using MblobControl() with M_SAVE_RUNS set to M_ENABLE. Also note that when using MblobControl() with M_BLOB_IDENTIFICATION_MODE set to either M_WHOLE_IMAGE or M_LABELED, both the blob and hole contours will be drawn when performing this operation. If M_BLOB_IDENTIFICATION_MODE is set to M_LABELED_TOUCHING, you cannot specify M_DRAW_BLOBS_CONTOUR. When drawing in either an image buffer or a 2D graphics list, MgraControl() with M_INPUT_UNITS cannot be set to M_WORLD for this operation. (summarize)Draws the external outline of the blobs. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_BOX |
Draws the image-axis aligned bounding box of each blob. The image-axis-aligned bounding box is the bounding box that is aligned with the pixel coordinate system's axes. Note that to perform this operation, the M_BOX feature must have been calculated. (summarize)Draws the image-axis aligned bounding box of each blob. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_BOX_CENTER |
Draws a cross at the center of the blobs' bounding box. Note that to perform this operation, the M_BOX feature must have been calculated. (summarize)Draws a cross at the center of the blobs' bounding box. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_CENTER_OF_GRAVITY |
Same as M_DRAW_POSITION. |
||||||||||||||||||||||||||||||||||||||
M_DRAW_CONVEX_HULL |
Draws the convex hull of the blobs. Note that to perform this operation, the M_CONVEX_HULL feature must have been calculated, and runs must have been previously saved using MblobControl() with M_SAVE_RUNS set to M_ENABLE. (summarize)Draws the convex hull of the blobs. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_CONVEX_HULL_CONTOUR |
Draws the convex perimeter of the blobs. Note that to perform this operation, the M_CONVEX_HULL feature must have been calculated, and runs must have been previously saved using MblobControl() with M_SAVE_RUNS set to M_ENABLE. (summarize)Draws the convex perimeter of the blobs. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_FERET_MAX |
Draws the blobs' maximum Feret diameter, using an H-type line (|-|), centered at the blobs' position, at the maximum Feret diameter's angle. Note that to perform this operation, the following features must have been calculated: M_BOX, M_FERET_MAX_DIAMETER, and M_FERET_MAX_ANGLE. (summarize)Draws the blobs' maximum Feret diameter, using an H-type line (|-|), centered at the blobs' position, at the maximum Feret diameter's angle. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_FERET_MIN |
Draws the blobs' minimum Feret diameter, using an H-type line (|-|), centered at the blobs' position, at the minimum Feret diameter's angle. Note that to perform this operation, the following features must have been calculated: M_BOX, M_FERET_MIN_DIAMETER, and M_FERET_MIN_ANGLE. (summarize)Draws the blobs' minimum Feret diameter, using an H-type line (|-|), centered at the blobs' position, at the minimum Feret diameter's angle. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_HOLES |
Draws the holes of the blobs. Note that to perform this operation, runs must have been previously saved using MblobControl() with M_SAVE_RUNS set to M_ENABLE and one feature among M_BOX_X_MIN, M_BOX_X_MAX, M_BOX_Y_MIN, or M_BOX_Y_MAX must have been calculated. When drawing in either an image buffer or a 2D graphics list, MgraControl() with M_INPUT_UNITS cannot be set to M_WORLD for this operation. (summarize)Draws the holes of the blobs. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_HOLES_CONTOUR |
Draws the outline of the blobs' holes. Note that to perform this operation, runs must have been previously saved using MblobControl() with M_SAVE_RUNS set to M_ENABLE. Also note that when using MblobControl() with M_BLOB_IDENTIFICATION_MODE set to either M_WHOLE_IMAGE or M_LABELED, both the blob and hole contours will be drawn when performing this operation. If M_BLOB_IDENTIFICATION_MODE is set to M_LABELED_TOUCHING, you cannot draw the blobs' holes with M_DRAW_HOLES_CONTOUR. When drawing in either an image buffer or a 2D graphics list, MgraControl() with M_INPUT_UNITS cannot be set to M_WORLD for this operation. (summarize)Draws the outline of the blobs' holes. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_MIN_AREA_BOX |
Draws the blobs' minimum-area bounding box. Note that to perform this operation, at least one of the M_MIN_AREA_BOX features must have been calculated. (summarize)Draws the blobs' minimum-area bounding box. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_MIN_PERIMETER_BOX |
Draws the blobs' minimum-perimeter bounding box. Note that to perform this operation, at least one of the M_MIN_PERIMETER_BOX features must have been calculated. (summarize)Draws the blobs' minimum-perimeter bounding box. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_POSITION |
Draws a cross at the center of gravity of the blobs. Note that to perform this operation, M_CENTER_OF_GRAVITY must have been calculated using the binary definition. (summarize)Draws a cross at the center of gravity of the blobs. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_WORLD_BOX |
Draws the world-axis aligned bounding box of each blob. The world-axis-aligned bounding box is the bounding box that is aligned with the relative coordinate system's axes. Note that to perform this operation, the M_WORLD_BOX features must have been calculated. (summarize)Draws the world-axis aligned bounding box of each blob. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_WORLD_BOX_CENTER |
Draws a cross at the center of the blobs' bounding box, calculated in the relative coordinate system. Note that to perform this operation, the M_WORLD_BOX features must have been calculated. (summarize)Draws a cross at the center of the blobs' bounding box, calculated in the relative coordinate system. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_WORLD_FERET_X |
Draws the blobs' Feret diameter, using an H-type line (|-|), centered at the blobs' position, parallel to the X-axis of the relative coordinate system. Note that to perform this operation, the M_WORLD_FERET_X feature must have been calculated. (summarize)Draws the blobs' Feret diameter, using an H-type line (|-|), centered at the blobs' position, parallel to the X-axis of the relative coordinate system. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DRAW_WORLD_FERET_Y |
Draws the blobs' Feret diameter, using an H-type line (|-|), centered at the blobs' position, parallel to the Y-axis of the relative coordinate system. Note that to perform this operation, the M_WORLD_FERET_Y feature must have been calculated. (summarize)Draws the blobs' Feret diameter, using an H-type line (|-|), centered at the blobs' position, parallel to the Y-axis of the relative coordinate system. (more details...) |
Specifies the label or index of the blob or blobs whose information to draw.
This parameter should be set to one of the following:
For specifying the label of the blob or blobs to
draw
|
|||||||||||||||||||||||||||||||||||||||
Value | Description | ||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Same as M_ALL_BLOBS. |
||||||||||||||||||||||||||||||||||||||
Specifies the index of the blob. (summarize)Specifies the index of the blob. (more details...) |
|||||||||||||||||||||||||||||||||||||||
Parameters | |||||||||||||||||||||||||||||||||||||||
Specifies the index. Valid indices range from 0 (the first blob) to the number of blobs (M_NUMBER) minus 1. |
|||||||||||||||||||||||||||||||||||||||
Specifies the label of the blob for which to get results. You can get a list of valid blob label values with M_LABEL_VALUE. (summarize)Specifies the label of the blob for which to get results. (more details...) |
|||||||||||||||||||||||||||||||||||||||
Parameters | |||||||||||||||||||||||||||||||||||||||
Specifies the label. |
|||||||||||||||||||||||||||||||||||||||
M_ALL_BLOBS |
Specifies all blobs. |
||||||||||||||||||||||||||||||||||||||
M_EXCLUDED_BLOBS |
Specifies all currently excluded blobs. |
||||||||||||||||||||||||||||||||||||||
M_INCLUDED_BLOBS |
Specifies all currently included blobs. |
Header | Include mil.h. |
Library | Use mil.lib; milblob.lib. |
DLL | Requires mil.dll; milblob.dll. |