| ImageEn, unit iexHelperFunctions | 
 | 
 
TIEBitmapHelper.DetectBlobs
 
Declaration
function DetectBlobs(MinThreshold: Double = 50;
                     MaxThreshold: Double = 220;
                     ThresholdStep: Double = 10;
                     MinBlobDistance: Double = 10;
                     GrayFilterEnabled: Boolean = True;
                     GrayLevel: Integer = 0;
                     AreaFilterEnabled: Boolean = True;
                     MinArea: Double = 25;
                     MaxArea: Double = 5000;
                     CircularityFilterEnabled: Boolean = False;
                     MinCircularity: Double = 0.8;
                     MaxCircularity: Double = 3.4e+38;
                     InertiaFilterEnabled: Boolean = False;
                     MinInertia: Double = 0.1;
                     MaxInertia: Double = 3.4e+38;
                     ConvexityFilterEnabled: Boolean = False;
                     MinConvexity: Double = 0.95;
                     MaxConvexity: Double = 3.4e+38): TIERectArray;
Description
A shortcut method that creates a 
TIEVisionBlobDetector object and calls 
detect.
For more information on the parameters:
◼setFilterByArea
◼setFilterByCircularity
◼setFilterByConvexity
◼setFilterByGrayLevel
◼setFilterByInertia
◼setMinDistBetweenBlobs
◼setThreshold
Note:
◼You must add the iexHelperFunctions unit to your uses clause
◼Delphi/C++ 2005 or newer is required to use helper classes
◼You can draw the rects to a canvas using 
DrawRects
◼Blob detection requires 
IEVision. You will need to 
register it before calling the method
Method Behavior
The following call:
rects := ImageEnView1.IEBitmap.DetectBlobs( 50, 220, 10, 150 );
Is the same as calling:
blobDetector := IEVisionLib().createBlobDetector();
blobDetector.setThreshold( 50, 220, 10 );
blobDetector.setMinDistBetweenBlobs( 150 );
blobDetector.setFilterByInertia( False, 0.8, 3.4e+38 );
blobDetector.setFilterByConvexity( False, 0.95, 3.4e+38 );
keyPoints := blobDetector.detect( ImageEnView1.IEBitmap.GetIEVisionImage() );
    |  Demos\ImageEditing\EveryMethod\EveryMethod.dpr  |  
// Detect blobs in image
rects := ImageEnView1.IEBitmap.DetectBlobs( 50, 220, 10, 150 );
// Draw rects to image
for i := 0 to Length(rects) - 1 do
begin
  r := rects[i];
  with ImageEnView1.IEBitmap.Canvas do
  begin
    Pen.Width := 2;
    Pen.Color := clRed;
    Brush.Style := bsClear;
    Rectangle( r.x, r.y, r.x + r.width, r.y + r.width );
  end;
end;
ImageEnView1.Proc.TextOut( Align_Text_Near_Left, Align_Text_Near_Top, Format( 'Found: %d', [ Length(rects) ]), 'Arial', 12, Text_Color, [fsBold] );
ImageEnView1.Update();