Leaper Vision Toolkit
中文 / English 2.x
Public Member Functions
ILBlobResults Interface Reference

This interface holds a collection of blob results. More...

Inheritance diagram for ILBlobResults:
ILObjects ILObject LBlobResults

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)
 
ILBlobResultsExpand (int delta)
 
void ExpandTo (int delta)
 
ILBlobResultsIntersect (ILBlobResults *other)
 
void IntersectTo (ILBlobResults *other)
 
ILBlobIntersectToOne ()
 
ILBlobItem (int index)
 
void Remove (int index)
 
ILBlobResultsShrink (int delta)
 
void ShrinkTo (int delta)
 
ILBlobResultsSubtract (ILBlobResults *other)
 
void SubtractTo (ILBlobResults *other)
 
ILBlobResultsUnion (ILBlobResults *other)
 
void UnionTo (ILBlobResults *other)
 
ILBlobUnionToOne ()
 
ILBlobResultsXOR (ILBlobResults *other)
 
void XORTo (ILBlobResults *other)
 
- Public Member Functions inherited from ILObjects
int Count ()
 
BOOL Empty ()
 
ILObjectItemObject (int objIndex)
 
- Public Member Functions inherited from ILObject
ILObjectCopy ()
 
LPVErrorCode Load (LString filename)
 
void Reset ()
 
LPVErrorCode Save (LString filename)
 
BOOL Valid ()
 

Additional Inherited Members

- Properties inherited from ILObject
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...
 

Detailed Description

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.

Example Code

Member Function Documentation

◆ Add()

void Add ( ILBlob blob)

Add a blob to the collection.

Parameters
[in]blobThe input blob object.

◆ AddAll()

void AddAll ( ILBlobResults other)

Add a blob to the collection.

Parameters
[in]blobThe input blob object.
Since
2.13.0

◆ Draw()

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.

Parameters
[in]indexInput index, it should be a 0-based number smaller than total count.
[in]drawFlagsFlags to control the blob drawing behavior, see LPVBlobDrawFlags for usage.
See also
DrawAll()
Use Draw Functions
Remarks
This function is currently not available on Linux / MacOS platform.

◆ DrawAll()

void DrawAll ( HDC  hdc,
LPVBlobDrawFlags  drawFlags,
double  zoomX,
double  zoomY,
double  panX,
double  panY 
)

Draw all blob results onto provide device context.

Parameters
[in]drawFlagsFlags to control the blob drawing behavior, see LPVBlobDrawFlags for usage.
See also
Draw()
Use Draw Functions
Remarks
This function is currently not available on Linux / MacOS platform.

◆ Expand()

ILBlobResults* Expand ( int  delta)

Offset all blobs in the collection to the outer to create a inflated new blob collection.

Parameters
[in]deltaThe offset pixels
Return values
newBlobResultsReturn a new result blob collection.
See also
ExpandTo(), Shrink(), LBlob::Expand(), LPolyClipper::Shrink()
Since
2.13.0

◆ ExpandTo()

void ExpandTo ( int  delta)

Offset all blobs in the collection to the outer to be inflated.

Parameters
[in]deltaThe offset pixels
See also
Expand(), Shrink(), LBlob::ExpandTo(), LPolyClipper::Shrink()
Since
2.13.0

◆ Intersect()

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.

Parameters
[in]otherThe blob collection to be intersected.
Return values
newBlobResultsReturn a new result blob collection.
See also
IntersectTo(), Subtract(), Union(), XOR().
Since
2.13.0

◆ IntersectTo()

void IntersectTo ( ILBlobResults other)

Intersect the current and provided blob collection, see more in Intersect()

Parameters
[in]otherThe blob collection to be intersected.
See also
Intersect(), Subtract(), Union(), XOR().
Since
2.13.0

◆ IntersectToOne()

ILBlob* IntersectToOne ( )

Intersect all blobs in the collection into one blob, including the common part of all blobs.

Return values
resultReturn the merged blob result
Since
2.13.0

◆ Item()

ILBlob* Item ( int  index)

Fetch one result with given index.

Parameters
[in]indexThe input index, it should be a 0-based number smaller than total count.
Return values
resultReturn the blob result of given index.

◆ Remove()

void Remove ( int  index)

Remove the blob of the given index from the collection.

Parameters
[in]indexThe input index, it should be a 0-based number smaller than total count.
Since
2.13.0

◆ Shrink()

ILBlobResults* Shrink ( int  delta)

Offset all blobs in the collection to the inner to create a deflated new blob collection.

Parameters
[in]deltaThe offset pixels
Return values
newBlobResultsReturn a new result blob collection.
See also
ShrinkTo(), Expand(), LBlob::Shrink(), LPolyClipper::Shrink()
Since
2.13.0

◆ ShrinkTo()

void ShrinkTo ( int  delta)

Offset all blobs in the collection to the inner to be deflated.

Parameters
[in]deltaThe offset pixels
See also
Shrink(), Expand(), LBlob::ShrinkTo(), LPolyClipper::Shrink()
Since
2.13.0

◆ Subtract()

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.

Parameters
[in]otherThe blob collection to subtracted.
Return values
newBlobResultsReturn a new result blob collection.
See also
SubtractTo(), Union(), Intersect(), XOR().
Since
2.13.0

◆ SubtractTo()

void SubtractTo ( ILBlobResults other)

Subtract the provided blob collection from the current, see more in Subtract()

Parameters
[in]otherThe blob collection to subtracted.
See also
Subtract(), Union(), Intersect(), XOR().
Since
2.13.0

◆ Union()

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.

Parameters
[in]otherThe blob collection to be union-ed
Return values
newBlobResultsReturn a new result blob collection.
See also
UnionTo(), Subtract(), Intersect(), XOR().
Since
2.13.0

◆ UnionTo()

void UnionTo ( ILBlobResults other)

Union the provided blob collection to the current, see more in Union()

Parameters
[in]otherThe blob collection to be union-ed
See also
Union(), Subtract(), Intersect(), XOR().
Since
2.13.0

◆ UnionToOne()

ILBlob* UnionToOne ( )

Union all blobs in the collection into one blob, including all parts belong to any of the blobs.

Return values
resultReturn the union-ed blob result
Since
2.13.0

◆ XOR()

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.

Parameters
[in]otherThe blob collection to perform the XOR operation.
Return values
newBlobResultsReturn a new result blob collection.
See also
XORTo(), Subtract(), Union(), Intersect().
Since
2.13.0

◆ XORTo()

void XORTo ( ILBlobResults other)

Calculate the symmetric difference of the current and provided blob collection, see more in XOR().

Parameters
[in]otherThe blob to perform the XOR operation.
See also
XOR(), Subtract(), Union(), Intersect().
Since
2.13.0