| OpenCV 5.0.0alpha Open Source Computer Vision

Loading...
Searching...
No Matches
Public Member Functions | List of all members
cv::dnn::DetectionModel Class Reference
Deep Neural Network module

This class represents high-level API for object detection networks. More...

`#include <opencv2/dnn/dnn.hpp>`

Collaboration diagram for cv::dnn::DetectionModel:

## Public Member Functions
| DetectionModel ()
| DetectionModel (const Net &network)
| Create model from deep learning network.
| DetectionModel (CV_WRAP_FILE_PATH const String &model, CV_WRAP_FILE_PATH const String &config="")
| Create detection model from network represented in one of the supported formats. An order of `model` and `config` arguments does not matter.
void | detect (InputArray frame, std::vector< int > &classIds, std::vector< float > &confidences, std::vector< Rect > &boxes, float confThreshold=0.5f, float nmsThreshold=0.0f)
| Given the `input` frame, create input blob, run net and return result detections.
bool | 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.
DetectionModel & | setNmsAcrossClasses (bool 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.
Public Member Functions inherited from cv::dnn::Model
| Model ()
| Model (const Model &)=default
| Model (const Net &network)
| Create model from deep learning network.
| Model (CV_WRAP_FILE_PATH const String &model, CV_WRAP_FILE_PATH const String &config="")
| Create model from deep learning network represented in one of the supported formats. An order of `model` and `config` arguments does not matter.
| Model (Model &&)=default
Model & | enableWinograd (bool useWinograd)
Impl * | getImpl () const
Impl & | getImplRef () const
Net & | getNetwork_ ()
Net & | getNetwork_ () const
| operator Net & () const
Model & | operator= (const Model &)=default
Model & | operator= (Model &&)=default
void | predict (InputArray frame, OutputArrayOfArrays outs) const
| Given the `input` frame, create input blob, run net and return the output `blobs`.
Model & | setInputCrop (bool crop)
| Set flag crop for frame.
Model & | setInputMean (const Scalar &mean)
| Set mean value for frame.
void | setInputParams (double scale=1.0, const Size &size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false)
| Set preprocessing parameters for frame.
Model & | setInputScale (const Scalar &scale)
| Set scalefactor value for frame.
Model & | setInputSize (const Size &size)
| Set input size for frame.
Model & | setInputSize (int width, int height)
Model & | setInputSwapRB (bool swapRB)
| Set flag swapRB for frame.
Model & | setOutputNames (const std::vector< String > &outNames)
| Set output names for frame.
Model & | setPreferableBackend (dnn::Backend backendId)
Model & | setPreferableTarget (dnn::Target targetId)

## Additional Inherited Members
Protected Attributes inherited from cv::dnn::Model
Ptr< Impl > | impl

## Detailed Description

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.

## Constructor & Destructor Documentation

## ◆ DetectionModel() [1/3]

cv::dnn::DetectionModel::DetectionModel | ( | CV_WRAP_FILE_PATH const String & | model,
|  | CV_WRAP_FILE_PATH const String & | config = "" )

Python:
| cv.dnn.DetectionModel( | model[, config] | ) -> | <dnn_DetectionModel object>
| cv.dnn.DetectionModel( | network | ) -> | <dnn_DetectionModel object>

Create detection model from network represented in one of the supported formats. An order of `model` and `config` arguments does not matter.

Parameters

  [in] | model | Binary file contains trained weights.
  [in] | config | Text file contains network configuration.

## ◆ DetectionModel() [2/3]

cv::dnn::DetectionModel::DetectionModel | ( | const Net & | network | ) |

Python:
| cv.dnn.DetectionModel( | model[, config] | ) -> | <dnn_DetectionModel object>
| cv.dnn.DetectionModel( | network | ) -> | <dnn_DetectionModel object>

Create model from deep learning network.

Parameters

  [in] | network | Net object.

## ◆ DetectionModel() [3/3]

cv::dnn::DetectionModel::DetectionModel | ( |  | ) |

Python:
| cv.dnn.DetectionModel( | model[, config] | ) -> | <dnn_DetectionModel object>
| cv.dnn.DetectionModel( | network | ) -> | <dnn_DetectionModel object>

## Member Function Documentation

## ◆ detect()

void cv::dnn::DetectionModel::detect | ( | InputArray | frame,
|  | std::vector< int > & | classIds,
|  | std::vector< float > & | confidences,
|  | std::vector< Rect > & | boxes,
|  | float | confThreshold = 0.5f,
|  | float | nmsThreshold = 0.0f )

Python:
| cv.dnn.DetectionModel.detect( | frame[, confThreshold[, nmsThreshold]] | ) -> | classIds, confidences, boxes

Given the `input` frame, create input blob, run net and return result detections.

Parameters

  [in] | frame | The input image.
  [out] | classIds | Class indexes in result detection.
  [out] | confidences | A set of corresponding confidences.
  [out] | boxes | A set of bounding boxes.
  [in] | confThreshold | A threshold used to filter boxes by confidences.
  [in] | nmsThreshold | A threshold used in non maximum suppression.

## ◆ getNmsAcrossClasses()

bool cv::dnn::DetectionModel::getNmsAcrossClasses | ( |  | ) |

Python:
| cv.dnn.DetectionModel.getNmsAcrossClasses( |  | ) -> | retval

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.

## ◆ setNmsAcrossClasses()

DetectionModel & cv::dnn::DetectionModel::setNmsAcrossClasses | ( | bool | value | ) |

Python:
| cv.dnn.DetectionModel.setNmsAcrossClasses( | value | ) -> | retval

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

  [in] | value | The new value for nmsAcrossClasses

The documentation for this class was generated from the following file:

- opencv2/dnn/dnn.hpp