ImageEn, unit ievision

TIEVisionObjectsFinder


Declaration

TIEVisionObjectsFinder = interface(TIEVisionBase)


Description

This interface allows you to find an object or a set of different objects.
It is possible to load more than one classifier (object detector). Each classifier is executed on a different thread.




Demos

Demo  Demos\IEVision\FaceDetection\FaceDetection.dpr
Demo  Demos\IEVision\GetFaces\GetFaces.dpr
Demo  Demos\IEVision\NumberPlateBlurring\GetPlate.dpr


Example

var
  objectsFinder: TIEVisionObjectsFinder;
  rects: TIEVisionVectorRect;
...
// load two face detectors
objectsFinder := IEVisionLib.createObjectsFinder();
objectsFinder.addClassifier('face detector 1', IEVisionLib.createCascadeClassifier(IEVC_FRONTAL_FACE_ALT_TREE));
objectsFinder.addClassifier('face detector 2', IEVisionLib.createCascadeClassifier(IEVC_FRONTAL_FACE_DEFAULT));

// detect objects
objectsFinder.findIn(ImageEnView1.IEBitmap.GetIEVisionImage());

// merge intersecting rectangles of all searched objects
rects := objectsFinder.mergeAllRects();

// loop among rectangles
for i := 0 to rects.size-1 do
begin
  ImageEnView1.ObjPenWidth[-1] := 2;
  with rects.getRect(i) do
  begin
    ... do something with the rectangle coordinates and size
  end;
end;


Methods and Properties

Public Method  addClassifier
Public Method  classifierExists
Public Method  findIn
Public Method  getClassifier
Public Method  getFoundRect
Public Method  getFoundRectCount
Public Method  mergeAllRects
Public Method  mergeRects
Public Method  removeAllClassifiers
Public Method  removeClassifier
Public Method  setDivisor
Public Method  setEqualizeHistogram
Public Method  setHaarFlags
Public Method  setHaarMinNeighbors
Public Method  setHaarMaxSize
Public Method  setHaarMinSize
Public Method  setHaarScaleFactor


See Also

Public Method  createObjectsFinder
Class  IEVision Embedded Classifiers