Package org.opencv.dnn

## Class DetectionModel

- java.lang.Object
- - org.opencv.dnn.Model
  - - org.opencv.dnn.DetectionModel

-     public class DetectionModel
      extends Model

  This class represents high-level API for object detection networks. DetectionModel allows to set params for preprocessing input image. DetectionModel creates net from file with trained weights and config, sets preprocessing input, runs forward pass and return result detections. For DetectionModel SSD, Faster R-CNN, YOLO topologies are supported.

- - ### Field Summary

    - ### Fields inherited from class org.opencv.dnn.Model

      `nativeObj`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `DetectionModel​(long addr)` |
    `` | `DetectionModel​(java.lang.String model)` | Create detection model from network represented in one of the supported formats.
    `` | `DetectionModel​(java.lang.String model, java.lang.String config)` | Create detection model from network represented in one of the supported formats.
    `` | `DetectionModel​(Net network)` | Create model from deep learning network.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static DetectionModel` | `__fromPtr__​(long addr)` |
    `void` | `detect​(Mat frame, MatOfInt classIds, MatOfFloat confidences, MatOfRect boxes)` | Given the `input` frame, create input blob, run net and return result detections.
    `void` | `detect​(Mat frame, MatOfInt classIds, MatOfFloat confidences, MatOfRect boxes, float confThreshold)` | Given the `input` frame, create input blob, run net and return result detections.
    `void` | `detect​(Mat frame, MatOfInt classIds, MatOfFloat confidences, MatOfRect boxes, float confThreshold, float nmsThreshold)` | Given the `input` frame, create input blob, run net and return result detections.
    `protected void` | `finalize()` |
    `boolean` | `getNmsAcrossClasses()` | Getter for nmsAcrossClasses.
    `DetectionModel` | `setNmsAcrossClasses​(boolean value)` | nmsAcrossClasses defaults to false, such that when non max suppression is used during the detect() function, it will do so per-class.

    - ### Methods inherited from class org.opencv.dnn.Model

      `enableWinograd, getNativeObjAddr, predict, setInputCrop, setInputMean, setInputParams, setInputParams, setInputParams, setInputParams, setInputParams, setInputParams, setInputScale, setInputSize, setInputSize, setInputSwapRB, setOutputNames, setPreferableBackend, setPreferableTarget`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DetectionModel

          protected DetectionModel​(long addr)

    - #### DetectionModel

          public DetectionModel​(java.lang.String model,
                                java.lang.String config)

      Create detection model from network represented in one of the supported formats. An order of `model` and `config` arguments does not matter.
      Parameters:
        `model` - Binary file contains trained weights.
        `config` - Text file contains network configuration.

    - #### DetectionModel

          public DetectionModel​(java.lang.String model)

      Create detection model from network represented in one of the supported formats. An order of `model` and `config` arguments does not matter.
      Parameters:
        `model` - Binary file contains trained weights.

    - #### DetectionModel

          public DetectionModel​(Net network)

      Create model from deep learning network.
      Parameters:
        `network` - Net object.

  - ### Method Detail

    - #### __fromPtr__

          public static DetectionModel __fromPtr__​(long addr)

    - #### setNmsAcrossClasses

          public DetectionModel setNmsAcrossClasses​(boolean value)

      nmsAcrossClasses defaults to false, such that when non max suppression is used during the detect() function, it will do so per-class. This function allows you to toggle this behaviour.
      Parameters:
        `value` - The new value for nmsAcrossClasses
      Returns:
        automatically generated

    - #### getNmsAcrossClasses

          public boolean getNmsAcrossClasses()

      Getter for nmsAcrossClasses. This variable defaults to false, such that when non max suppression is used during the detect() function, it will do so only per-class
      Returns:
        automatically generated

    - #### detect

          public void detect​(Mat frame,
                             MatOfInt classIds,
                             MatOfFloat confidences,
                             MatOfRect boxes,
                             float confThreshold,
                             float nmsThreshold)

      Given the `input` frame, create input blob, run net and return result detections.
      Parameters:
        `classIds` - Class indexes in result detection.
        `confidences` - A set of corresponding confidences.
        `boxes` - A set of bounding boxes.
        `confThreshold` - A threshold used to filter boxes by confidences.
        `nmsThreshold` - A threshold used in non maximum suppression.
        `frame` - automatically generated

    - #### detect

          public void detect​(Mat frame,
                             MatOfInt classIds,
                             MatOfFloat confidences,
                             MatOfRect boxes,
                             float confThreshold)

      Given the `input` frame, create input blob, run net and return result detections.
      Parameters:
        `classIds` - Class indexes in result detection.
        `confidences` - A set of corresponding confidences.
        `boxes` - A set of bounding boxes.
        `confThreshold` - A threshold used to filter boxes by confidences.
        `frame` - automatically generated

    - #### detect

          public void detect​(Mat frame,
                             MatOfInt classIds,
                             MatOfFloat confidences,
                             MatOfRect boxes)

      Given the `input` frame, create input blob, run net and return result detections.
      Parameters:
        `classIds` - Class indexes in result detection.
        `confidences` - A set of corresponding confidences.
        `boxes` - A set of bounding boxes.
        `frame` - automatically generated

    - #### finalize

          protected void finalize()
                           throws java.lang.Throwable

      Overrides:
        `finalize` in class `Model`
      Throws:
        `java.lang.Throwable`