ImageEn, unit ievision

TIEVisionNNet.detectObjects

TIEVisionNNet.detectObjects


Declaration

function detectObjects(image: TIEVisionImage; out classIDs: TIEVisionVectorInt32; out confidences: TIEVisionVectorDouble; out rects: TIEVisionVectorRect): bool32; safecall;


Description

This method takes an input image and returns the detected objects along with their class IDs, confidences, and bounding boxes.
Returns True on success (both input and model valid).

Parameter Description
image Input image
classIDs Output array of detected class IDs
confidences Output array of confidences per class ID detected
rects Output array of boxes per class ID detected

Note: The classIDs will reference an index withing the class list supplied with the model



Example

// Detects and classify all objects inside TImageEnView using MobileNetSSD pretrained model
var
  nnet: TIEVisionNNet;
  rects: TIEVisionVectorRect;
  classIDs: TIEVisionVectorInt32;
  confidences: TIEVisionVectorDouble;
  i: integer;
begin
  nnet := IEVisionLib.createNNet('MobileNetSSD_deploy.caffemodel', 'MobileNetSSD_deploy.prototxt');
  nnet.setInputScale(0.007843);
  nnet.detectObjects(ImageEnView1.IEBitmap.GetIEVisionImage(), classIDs, confidences, rects);
  for i := 0 to classIDs.size() - 1 do
  begin
    // do something with detected objects
  end
end;