|
IMVBlobFinder
This interface is exposed to allow programmatic control of the
filter. Read the filter
description to see how the filter is used.
Header file: IMVBlobFinder.h
Interface definition language file: IMVBlobFinder.idl
Typelib: MVBlobFinder
Interface ID: IID_IMVBlobFinder
Property IMVBlobFinder::Angle
Declaration:
Property Get Angle As Double
Gets the angle for the current contour. This is a read only
property.
Prototype:
HRESULT get_Angle(DOUBLE*
value);
Property IMVBlobFinder::AngleXPos
Declaration:
Property Get/Put AngleXPos As Long
X-position for the angle output text.
Prototype:
HRESULT put_AngleXPos(LONG
value);
HRESULT get_AngleXPos(LONG* value);
Property IMVBlobFinder::AngleYPos
Declaration:
Property Get/Put AngleYPos As Long
Y-position for the angle output text.
Prototype:
HRESULT put_AngleYPos(LONG
value);
HRESULT get_AngleYPos(LONG* value);
Property
IMVBlobFinder::ApproxContourAccuracy
Declaration:
Property Get/Put ApproxContourAccuracy As Double
Accurency value for the approximation algorithm.
Prototype:
HRESULT
put_ApproxContourAccuracy(DOUBLE value);
HRESULT get_ApproxContourAccuracy(DOUBLE* value);
Property IMVBlobFinder::Area
Declaration:
Property Get Area As Double
Get the area for the current contour.
Prototype:
HRESULT put_Area(DOUBLE value);
HRESULT get_Area(DOUBLE* value);
Property IMVBlobFinder::AreaXPos
Declaration:
Property Get/Put AreaXPos As Long
X-position for the area output text.
Prototype:
HRESULT put_AreaXPos(LONG value);
HRESULT get_AreaXPos(LONG* value);
Property IMVBlobFinder::AreaYPos
Declaration:
Property Get/Put AreaYPos As Long
Y-position for the area output text.
Prototype:
HRESULT put_AreaYPos(LONG value);
HRESULT get_AreaYPos(LONG* value);
Property
IMVBlobFinder::BoundingRect
Declaration:
Property Get BoundingRect As _MV_RECT
Get the upright bounding rect for the current contour. This is a
read only property.
Prototype:
HRESULT get_BoundingRect(MV_RECT*
rect);
Property IMVBlobFinder::CalcAngle
Declaration:
Property Get/Put CalcAngle As Long
Enables the calculation of the contour angle.
Prototype:
HRESULT put_CalcAngle(LONG
value);
HRESULT get_CalcAngle(LONG* value);
Property IMVBlobFinder::CalcArea
Declaration:
Property Get/Put CalcArea As Long
Enables the calculation of the contour area.
Prototype:
HRESULT put_CalcArea(LONG value);
HRESULT get_CalcArea(LONG* value);
Property IMVBlobFinder::CalcHu
Declaration:
Property Get/Put CalcHu As Long
Enables the calculation of the contour hu
invariants.
Prototype:
HRESULT put_CalcHu(LONG value);
HRESULT get_CalcHu(LONG* value);
Property
IMVBlobFinder::CalcMinBoundingRect
Declaration:
Property Get/Put CalcMinBoundingRect As Long
Enables the calculation of the contour min bounding
rectangle.
Prototype:
HRESULT put_CalcMinBoundingRect(LONG
value);
HRESULT get_CalcMinBoundingRect(LONG* value);
Property
IMVBlobFinder::CalcPerimeter
Declaration:
Property Get/Put CalcPerimeter As Long
Enable the calculation of the contour perimeter.
Prototype:
HRESULT put_CalcPerimeter(LONG
value);
HRESULT get_CalcPerimeter(LONG* value);
Property
IMVBlobFinder::CalcUprightBoundingRect
Declaration:
Property Get/Put CalcUprightBoundingRect As Long
Enables the calculation of the contour upright
bounding rectangle.
Prototype:
HRESULT
put_CalcUprightBoundingRect(LONG value);
HRESULT get_CalcUprightBoundingRect(LONG* value);
Method
IMVBlobFinder::CurrentContour
Declaration: Sub
CurrentContour(pContour As _MV_POINT, cMax As Long, cCount As Long)
Return the current contour
Parameter:
|
|
pContour |
Array with _MV_POINT structures for the current
contour points. |
|
|
cMax |
The cont of _MV_POINT structures in pContour. |
|
|
cCount |
Returns the available contour point in
pContour. |
If cMax points in pContour is to small for the current blob
contour or pContour = NULL the method returns E_INVALIDARG. In this
case cCount contains the current size for the contour. Call the
method again with a pCountour with cCount _MV_POINT
structures.
Prototype:
HRESULT CurrentContour(MV_POINT*
pContour, LONG cMax, LONG* cCount);
Property IMVBlobFinder::DrawAngle
Declaration:
Property Get/Put DrawAngle As Long
Enables drawing of angle output text into the output image
Prototype:
HRESULT put_DrawAngle(LONG
value);
HRESULT get_DrawAngle(LONG* value);
Property IMVBlobFinder::DrawArea
Declaration:
Property Get/Put DrawArea As Long
Enables drawing of area output text into the output image
Prototype:
HRESULT put_DrawArea(LONG value);
HRESULT get_DrawArea(LONG* value);
Property
IMVBlobFinder::DrawContour
Declaration:
Property Get/Put DrawContour As Long
Draw countours into the output image.
Prototype:
HRESULT put_DrawContour(LONG
value);
HRESULT get_DrawContour(LONG* value);
Property IMVBlobFinder::DrawHu
Declaration:
Property Get/Put DrawHu As Long
Enables drawing of hu invariants output text into the output
image
Prototype:
HRESULT put_DrawHu(LONG value);
HRESULT get_DrawHu(LONG* value);
Property
IMVBlobFinder::DrawMinBoundingRect
Declaration:
Property Get/Put DrawMinBoundingRect As Long
Enables drawing of the contours min bounding rectangle into the
output image
Prototype:
HRESULT put_DrawMinBoundingRect(LONG
value);
HRESULT get_DrawMinBoundingRect(LONG* value);
Property
IMVBlobFinder::DrawPerimeter
Declaration:
Property Get/Put DrawPerimeter As Long
Enables drawing of perimeter output text into the output
image
Prototype:
HRESULT put_DrawPerimeter(LONG
value);
HRESULT get_DrawPerimeter(LONG* value);
Property
IMVBlobFinder::DrawUprightBoundingRect
Declaration:
Property Get/Put DrawUprightBoundingRect As Long
Enables drawing of the contours upright bounding rectangle into
the output image
Prototype:
HRESULT
put_DrawUprightBoundingRect(LONG value);
HRESULT get_DrawUprightBoundingRect(LONG* value);
Property
IMVBlobFinder::EnableFilter
Declaration:
Property Get/Put EnableFilter As Long
Enables the contour filter.
Prototype:
HRESULT put_EnableFilter(LONG
value);
HRESULT get_EnableFilter(LONG* value);
Property
IMVBlobFinder::EnableHuFilter
Declaration:
Property Get/Put EnableHuFilter As Long
Enable the hu invariants contour filter.
Prototype:
HRESULT put_EnableHuFilter(LONG
value);
HRESULT get_EnableHuFilter(LONG* value);
Property
IMVBlobFinder::EnableSizeFilter
Declaration:
Property Get/Put EnableSizeFilter As Long
Enable the size contour filter.
Prototype:
HRESULT put_EnableSizeFilter(LONG
value);
HRESULT get_EnableSizeFilter(LONG* value);
Property
IMVBlobFinder::HuInvariants
Declaration:
Property Get HuInvariants As _MV_HU_MOMENTS
Get the hu invariants for the current contour. This is a read
only property.
Prototype:
HRESULT get_HuInvariants(MV_HU_MOMENTS*
hu);
Property IMVBlobFinder::HuXPos
Declaration:
Property Get/Put HuXPos As Long
X-position for the hu invariants output text.
Prototype:
HRESULT put_HuXPos(LONG value);
HRESULT get_HuXPos(LONG* value);
Property IMVBlobFinder::HuYPos
Declaration:
Property Get/Put HuYPos As Long
Y-position for the hu invariants output text.
Prototype:
HRESULT put_HuYPos(LONG value);
HRESULT get_HuYPos(LONG* value);
Property IMVBlobFinder::MaxHeight
Declaration:
Property Get/Put MaxHeight As Long
Maximal contour height.
Prototype:
HRESULT put_MaxHeight(LONG
value);
HRESULT get_MaxHeight(LONG* value);
Property
IMVBlobFinder::MaxHuInvariants
Declaration:
Property Get/Put MaxHuInvariants As _MV_HU_MOMENTS
Maximum contour hu invariants.
Prototype:
HRESULT
put_MaxHuInvariants(MV_HU_MOMENTS hu);
HRESULT get_MaxHuInvariants(MV_HU_MOMENTS* hu);
Property IMVBlobFinder::MaxWidth
Declaration:
Property Get/Put MaxWidth As Long
Maximal contour width.
Prototype:
HRESULT put_MaxWidth(LONG value);
HRESULT get_MaxWidth(LONG* value);
Property
IMVBlobFinder::MinBoundingRect
Declaration:
Property Get MinBoundingRect As _MV_POINT()
Get the min bounding rect for the current contour. This is a
read only property. The MinBoundingRect is an Array with four
MV_POINT values.
Prototype:
HRESULT get_MinBoundingRect(MV_POINT*
value);
Property IMVBlobFinder::MinHeight
Declaration:
Property Get/Put MinHeight As Long
Minimal contour height.
Prototype:
HRESULT put_MinHeight(LONG
value);
HRESULT get_MinHeight(LONG* value);
Property
IMVBlobFinder::MinHuInvariants
Declaration:
Property Get/Put MinHuInvariants As _MV_HU_MOMENTS
Minimum contour hu invariants.
Prototype:
HRESULT
put_MinHuInvariants(MV_HU_MOMENTS hu);
HRESULT get_MinHuInvariants(MV_HU_MOMENTS* hu);
Property IMVBlobFinder::MinWidth
Declaration:
Property Get/Put MinWidth As Long
Minimal contour width.
Prototype:
HRESULT put_MinWidth(LONG value);
HRESULT get_MinWidth(LONG* value);
Property IMVBlobFinder::Moments
Declaration:
Property Get Moments As _MV_MOMENTS
Get the moments for the current contour.
Prototype:
HRESULT get_Moments(_MV_MOMENTS*
moments);
Property
IMVBlobFinder::ObjectFound
Declaration:
Property Get ObjectFound As Long
Get the result from the current contour search. This is a read
only property.
Prototype:
HRESULT get_ObjectFound(LONG*
value);
Property IMVBlobFinder::Perimeter
Declaration:
Property Get Perimeter As Double
Get the perimeter for the current contour.
Prototype:
HRESULT put_Perimeter(DOUBLE
value);
HRESULT get_Perimeter(DOUBLE* value);
Property
IMVBlobFinder::PerimeterXPos
Declaration:
Property Get/Put PerimeterXPos As Long
X-position for the perimeter output text.
Prototype:
HRESULT put_PerimeterXPos(LONG
value);
HRESULT get_PerimeterXPos(LONG* value);
Property
IMVBlobFinder::PerimeterYPos
Declaration:
Property Get/Put PerimeterYPos As Long
X-position for the perimeter output text.
Prototype:
HRESULT put_PerimeterYPos(LONG
value);
HRESULT get_PerimeterYPos(LONG* value);
Property
IMVBlobFinder::RetrievalMode
Declaration:
Property Get/Put RetrievalMode As Long
Set the retrival mode.
Prototype:
HRESULT put_RetrievalMode(LONG
value);
HRESULT get_RetrievalMode(LONG* value);
Property
IMVBlobFinder::UseApproxContour
Declaration:
Property Get/Put UseApproxContour As Long
Calculate an approximate contour.
Prototype:
HRESULT put_UseApproxContour(LONG
value);
HRESULT get_UseApproxContour(LONG* value);
Property
IMVBlobFinder::UseConvexHull
Declaration:
Property Get/Put UseConvexHull As Long
Calculate the convex hull.
Prototype:
HRESULT put_UseConvexHull(LONG
value);
HRESULT get_UseConvexHull(LONG* value);
Property
IMVBlobFinder::UseMinBoundigRectAngle
Declaration:
Property Get/Put UseMinBoundigRectAngle As Long
Use the min boundig rect angle for angle output.
Prototype:
HRESULT put_UseMinBoundigRectAngle(LONG
value);
HRESULT get_UseMinBoundigRectAngle(LONG* value);
Filter specific
structures and enumerators
typedef struct
_MV_MOMENTS
{
double m00, m10, m01, m20, m11, m02, m30, m21,
m12, m03; /* spatial moments */
double mu20, mu11, mu02, mu30, mu21, mu12, mu03;
/* central moments */
double inv_sqrt_m00; /* m00 != 0 ? 1/sqrt(m00) :
0 */
}MV_MOMENTS;
typedef struct
_MV_HU_MOMENTS
{
double hu1, hu2, hu3, hu4, hu5, hu6, hu7; /* hu
invariants */
}MV_HU_MOMENTS;
typedef struct
_MV_RECT
{
int x;
int y;
int width;
int height;
}MV_RECT;
typedef struct _MV_POINT
{
int x;
int y;
}MV_POINT;
|