Package org.opencv.dnn

## Class SegmentationModel

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

-     public class SegmentationModel
      extends Model

  This class represents high-level API for segmentation models SegmentationModel allows to set params for preprocessing input image. SegmentationModel creates net from file with trained weights and config, sets preprocessing input, runs forward pass and returns the class prediction for each pixel.

- - ### Field Summary

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

      `nativeObj`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static SegmentationModel` | `__fromPtr__​(long addr)` |
    `protected void` | `finalize()` |
    `void` | `segment​(Mat frame, Mat mask)` | Given the `input` frame, create input blob, run net

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

    - #### SegmentationModel

          protected SegmentationModel​(long addr)

    - #### SegmentationModel

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

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

    - #### SegmentationModel

          public SegmentationModel​(java.lang.String model)

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

    - #### SegmentationModel

          public SegmentationModel​(Net network)

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

  - ### Method Detail

    - #### __fromPtr__

          public static SegmentationModel __fromPtr__​(long addr)

    - #### segment

          public void segment​(Mat frame,
                              Mat mask)

      Given the `input` frame, create input blob, run net
      Parameters:
        `mask` - Allocated class prediction for each pixel
        `frame` - automatically generated

    - #### finalize

          protected void finalize()
                           throws java.lang.Throwable

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