Package org.opencv.dnn

## Class ClassificationModel

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

-     public class ClassificationModel
      extends Model

  This class represents high-level API for classification models. ClassificationModel allows to set params for preprocessing input image. ClassificationModel creates net from file with trained weights and config, sets preprocessing input, runs forward pass and return top-1 prediction.

- - ### Field Summary

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

      `nativeObj`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ClassificationModel` | `__fromPtr__​(long addr)` |
    `void` | `classify​(Mat frame, int[] classId, float[] conf)` |
    `protected void` | `finalize()` |
    `boolean` | `getEnableSoftmaxPostProcessing()` | Get enable/disable softmax post processing option.
    `ClassificationModel` | `setEnableSoftmaxPostProcessing​(boolean enable)` | Set enable/disable softmax post processing option.

    - ### 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

    - #### ClassificationModel

          protected ClassificationModel​(long addr)

    - #### ClassificationModel

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

      Create classification 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.

    - #### ClassificationModel

          public ClassificationModel​(java.lang.String model)

      Create classification 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.

    - #### ClassificationModel

          public ClassificationModel​(Net network)

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

  - ### Method Detail

    - #### __fromPtr__

          public static ClassificationModel __fromPtr__​(long addr)

    - #### setEnableSoftmaxPostProcessing

          public ClassificationModel setEnableSoftmaxPostProcessing​(boolean enable)

      Set enable/disable softmax post processing option. If this option is true, softmax is applied after forward inference within the classify() function to convert the confidences range to [0.0-1.0]. This function allows you to toggle this behavior. Please turn true when not contain softmax layer in model.
      Parameters:
        `enable` - Set enable softmax post processing within the classify() function.
      Returns:
        automatically generated

    - #### getEnableSoftmaxPostProcessing

          public boolean getEnableSoftmaxPostProcessing()

      Get enable/disable softmax post processing option. This option defaults to false, softmax post processing is not applied within the classify() function.
      Returns:
        automatically generated

    - #### classify

          public void classify​(Mat frame,
                               int[] classId,
                               float[] conf)

    - #### finalize

          protected void finalize()
                           throws java.lang.Throwable

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