This interface holds a collection of blob results. More...
Public Member Functions | |
void | Add (ILBlob *blob) |
void | AddAll (ILBlobResults *other) |
void | Draw (HDC hdc, int index, LPVBlobDrawFlags drawFlags, double zoomX, double zoomY, double panX, double panY) |
void | DrawAll (HDC hdc, LPVBlobDrawFlags drawFlags, double zoomX, double zoomY, double panX, double panY) |
ILBlobResults * | Expand (int delta) |
void | ExpandTo (int delta) |
ILBlobResults * | Intersect (ILBlobResults *other) |
void | IntersectTo (ILBlobResults *other) |
ILBlob * | IntersectToOne () |
ILBlob * | Item (int index) |
void | Remove (int index) |
ILBlobResults * | Shrink (int delta) |
void | ShrinkTo (int delta) |
ILBlobResults * | Subtract (ILBlobResults *other) |
void | SubtractTo (ILBlobResults *other) |
ILBlobResults * | Union (ILBlobResults *other) |
void | UnionTo (ILBlobResults *other) |
ILBlob * | UnionToOne () |
ILBlobResults * | XOR (ILBlobResults *other) |
void | XORTo (ILBlobResults *other) |
![]() | |
int | Count () |
BOOL | Empty () |
ILObject * | ItemObject (int objIndex) |
![]() | |
ILObject * | Copy () |
LPVErrorCode | Load (LString filename) |
void | Reset () |
LPVErrorCode | Save (LString filename) |
BOOL | Valid () |
Additional Inherited Members | |
![]() | |
LString | Name [get, set] |
Name of the object. By default, the object has no name. In most cases, LPV classes don't make use of the names. The name is drawn on canvas around the object if ILDrawable::SetDrawName() is enabled. More... | |
This interface holds a collection of blob results.
Usually you get the LBlobResults object from the ILBlobAnalysis::Build() as analysis result. You can then use this interface to access individual result and draw the results on graphics windows.
void Add | ( | ILBlob * | blob | ) |
Add a blob to the collection.
[in] | blob | The input blob object. |
void AddAll | ( | ILBlobResults * | other | ) |
Add a blob to the collection.
[in] | blob | The input blob object. |
void Draw | ( | HDC | hdc, |
int | index, | ||
LPVBlobDrawFlags | drawFlags, | ||
double | zoomX, | ||
double | zoomY, | ||
double | panX, | ||
double | panY | ||
) |
Draw one blob result of given index onto provide device context.
[in] | index | Input index, it should be a 0-based number smaller than total count. |
[in] | drawFlags | Flags to control the blob drawing behavior, see LPVBlobDrawFlags for usage. |
void DrawAll | ( | HDC | hdc, |
LPVBlobDrawFlags | drawFlags, | ||
double | zoomX, | ||
double | zoomY, | ||
double | panX, | ||
double | panY | ||
) |
Draw all blob results onto provide device context.
[in] | drawFlags | Flags to control the blob drawing behavior, see LPVBlobDrawFlags for usage. |
ILBlobResults* Expand | ( | int | delta | ) |
Offset all blobs in the collection to the outer to create a inflated new blob collection.
[in] | delta | The offset pixels |
newBlobResults | Return a new result blob collection. |
void ExpandTo | ( | int | delta | ) |
Offset all blobs in the collection to the outer to be inflated.
[in] | delta | The offset pixels |
ILBlobResults* Intersect | ( | ILBlobResults * | other | ) |
Intersect the current and provided blob collection, output a new collection.
The intersected parts are included. Multiple intersection parts from the same source blob are still in one result blob. If all pixels are excluded, then the blob is deleted, thus the count of the blobs may change.
[in] | other | The blob collection to be intersected. |
newBlobResults | Return a new result blob collection. |
void IntersectTo | ( | ILBlobResults * | other | ) |
Intersect the current and provided blob collection, see more in Intersect()
[in] | other | The blob collection to be intersected. |
ILBlob* IntersectToOne | ( | ) |
Intersect all blobs in the collection into one blob, including the common part of all blobs.
result | Return the merged blob result |
ILBlob* Item | ( | int | index | ) |
Fetch one result with given index.
[in] | index | The input index, it should be a 0-based number smaller than total count. |
result | Return the blob result of given index. |
void Remove | ( | int | index | ) |
Remove the blob of the given index from the collection.
[in] | index | The input index, it should be a 0-based number smaller than total count. |
ILBlobResults* Shrink | ( | int | delta | ) |
Offset all blobs in the collection to the inner to create a deflated new blob collection.
[in] | delta | The offset pixels |
newBlobResults | Return a new result blob collection. |
void ShrinkTo | ( | int | delta | ) |
Offset all blobs in the collection to the inner to be deflated.
[in] | delta | The offset pixels |
ILBlobResults* Subtract | ( | ILBlobResults * | other | ) |
Subtract the provided from the current blob collection, output a new collection.
Pixels in the subtrahend are excluded from the result. If all pixels are excluded, then the blob is deleted, thus the count of the blobs may change.
[in] | other | The blob collection to subtracted. |
newBlobResults | Return a new result blob collection. |
void SubtractTo | ( | ILBlobResults * | other | ) |
Subtract the provided blob collection from the current, see more in Subtract()
[in] | other | The blob collection to subtracted. |
ILBlobResults* Union | ( | ILBlobResults * | other | ) |
Union the current and the provided blob collection, output a new collection.
Parts in either collection are all included. Overlapped blobs are merge into one, the standalone ones remain unchanged, thus the count of the blobs may change.
[in] | other | The blob collection to be union-ed |
newBlobResults | Return a new result blob collection. |
void UnionTo | ( | ILBlobResults * | other | ) |
Union the provided blob collection to the current, see more in Union()
[in] | other | The blob collection to be union-ed |
ILBlob* UnionToOne | ( | ) |
Union all blobs in the collection into one blob, including all parts belong to any of the blobs.
result | Return the union-ed blob result |
ILBlobResults* XOR | ( | ILBlobResults * | other | ) |
Calculate the symmetric difference of the current and provided blob collection, output a new collection.
The parts in and only in one of blob collections are included. To avoid producing duplicated blob results, one blob in other
is only allowed to be XORed with one blob in the current collection. If all pixels are excluded, then the blob is deleted, thus the count of the blobs may change.
[in] | other | The blob collection to perform the XOR operation. |
newBlobResults | Return a new result blob collection. |
void XORTo | ( | ILBlobResults * | other | ) |
Calculate the symmetric difference of the current and provided blob collection, see more in XOR().
[in] | other | The blob to perform the XOR operation. |