OpenCV  4.9.0
Open Source Computer Vision
Classes | Namespaces | Typedefs | Enumerations | Functions
dnn.hpp File Reference
#include <vector>
#include <opencv2/core.hpp>
#include "opencv2/core/async.hpp"
#include "../dnn/version.hpp"
#include <opencv2/dnn/dict.hpp>
#include <opencv2/dnn/layer.hpp>
#include <opencv2/dnn/dnn.inl.hpp>
#include <opencv2/dnn/utils/inference_engine.hpp>

Classes

class  cv::dnn::BackendNode
 Derivatives of this class encapsulates functions of certain backends. More...
 
class  cv::dnn::BackendWrapper
 Derivatives of this class wraps cv::Mat for different backends and targets. More...
 
class  cv::dnn::ClassificationModel
 This class represents high-level API for classification models. More...
 
class  cv::dnn::DetectionModel
 This class represents high-level API for object detection networks. More...
 
struct  cv::dnn::Image2BlobParams
 Processing params of image to blob. More...
 
class  cv::dnn::KeypointsModel
 This class represents high-level API for keypoints models. More...
 
class  cv::dnn::Layer
 This interface class allows to build new Layers - are building blocks of networks. More...
 
class  cv::dnn::LayerParams
 This class provides all data needed to initialize layer. More...
 
class  cv::dnn::Model
 This class is presented high-level API for neural networks. More...
 
class  cv::dnn::Net
 This class allows to create and manipulate comprehensive artificial neural networks. More...
 
class  cv::dnn::SegmentationModel
 This class represents high-level API for segmentation models. More...
 
class  cv::dnn::TextDetectionModel
 Base class for text detection networks. More...
 
class  cv::dnn::TextDetectionModel_DB
 This class represents high-level API for text detection DL networks compatible with DB model. More...
 
class  cv::dnn::TextDetectionModel_EAST
 This class represents high-level API for text detection DL networks compatible with EAST model. More...
 
class  cv::dnn::TextRecognitionModel
 This class represents high-level API for text recognition networks. More...
 

Namespaces

 cv
 "black box" representation of the file storage associated with a file on disk.
 
 cv::dnn
 
 cv::dnn::accessor
 

Typedefs

typedef std::vector< int > cv::dnn::MatShape
 

Enumerations

enum  cv::dnn::Backend {
  cv::dnn::DNN_BACKEND_DEFAULT = 0,
  cv::dnn::DNN_BACKEND_HALIDE,
  cv::dnn::DNN_BACKEND_INFERENCE_ENGINE,
  cv::dnn::DNN_BACKEND_OPENCV,
  cv::dnn::DNN_BACKEND_VKCOM,
  cv::dnn::DNN_BACKEND_CUDA,
  cv::dnn::DNN_BACKEND_WEBNN,
  cv::dnn::DNN_BACKEND_TIMVX,
  cv::dnn::DNN_BACKEND_CANN
}
 Enum of computation backends supported by layers. More...
 
enum  cv::dnn::DataLayout {
  cv::dnn::DNN_LAYOUT_UNKNOWN = 0,
  cv::dnn::DNN_LAYOUT_ND = 1,
  cv::dnn::DNN_LAYOUT_NCHW = 2,
  cv::dnn::DNN_LAYOUT_NCDHW = 3,
  cv::dnn::DNN_LAYOUT_NHWC = 4,
  cv::dnn::DNN_LAYOUT_NDHWC = 5,
  cv::dnn::DNN_LAYOUT_PLANAR = 6
}
 Enum of data layout for model inference. More...
 
enum  cv::dnn::ImagePaddingMode {
  cv::dnn::DNN_PMODE_NULL = 0,
  cv::dnn::DNN_PMODE_CROP_CENTER = 1,
  cv::dnn::DNN_PMODE_LETTERBOX = 2
}
 Enum of image processing mode. To facilitate the specialization pre-processing requirements of the dnn model. For example, the letter box often used in the Yolo series of models. More...
 
enum  cv::dnn::SoftNMSMethod {
  cv::dnn::SoftNMSMethod::SOFTNMS_LINEAR = 1,
  cv::dnn::SoftNMSMethod::SOFTNMS_GAUSSIAN = 2
}
 Enum of Soft NMS methods. More...
 
enum  cv::dnn::Target {
  cv::dnn::DNN_TARGET_CPU = 0,
  cv::dnn::DNN_TARGET_OPENCL,
  cv::dnn::DNN_TARGET_OPENCL_FP16,
  cv::dnn::DNN_TARGET_MYRIAD,
  cv::dnn::DNN_TARGET_VULKAN,
  cv::dnn::DNN_TARGET_FPGA,
  cv::dnn::DNN_TARGET_CUDA,
  cv::dnn::DNN_TARGET_CUDA_FP16,
  cv::dnn::DNN_TARGET_HDDL,
  cv::dnn::DNN_TARGET_NPU,
  cv::dnn::DNN_TARGET_CPU_FP16
}
 Enum of target devices for computations. More...
 

Functions

Mat cv::dnn::blobFromImage (InputArray image, double scalefactor=1.0, const Size &size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false, int ddepth=CV_32F)
 Creates 4-dimensional blob from image. Optionally resizes and crops image from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels. More...
 
void cv::dnn::blobFromImage (InputArray image, OutputArray blob, double scalefactor=1.0, const Size &size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false, int ddepth=CV_32F)
 Creates 4-dimensional blob from image. More...
 
Mat cv::dnn::blobFromImages (InputArrayOfArrays images, double scalefactor=1.0, Size size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false, int ddepth=CV_32F)
 Creates 4-dimensional blob from series of images. Optionally resizes and crops images from center, subtract mean values, scales values by scalefactor, swap Blue and Red channels. More...
 
void cv::dnn::blobFromImages (InputArrayOfArrays images, OutputArray blob, double scalefactor=1.0, Size size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false, int ddepth=CV_32F)
 Creates 4-dimensional blob from series of images. More...
 
Mat cv::dnn::blobFromImagesWithParams (InputArrayOfArrays images, const Image2BlobParams &param=Image2BlobParams())
 Creates 4-dimensional blob from series of images with given params. More...
 
void cv::dnn::blobFromImagesWithParams (InputArrayOfArrays images, OutputArray blob, const Image2BlobParams &param=Image2BlobParams())
 
Mat cv::dnn::blobFromImageWithParams (InputArray image, const Image2BlobParams &param=Image2BlobParams())
 Creates 4-dimensional blob from image with given params. More...
 
void cv::dnn::blobFromImageWithParams (InputArray image, OutputArray blob, const Image2BlobParams &param=Image2BlobParams())
 
void cv::dnn::enableModelDiagnostics (bool isDiagnosticsMode)
 Enables detailed logging of the DNN model loading with CV DNN API. More...
 
std::vector< std::pair< Backend, Target > > cv::dnn::getAvailableBackends ()
 
std::vector< Target > cv::dnn::getAvailableTargets (dnn::Backend be)
 
void cv::dnn::imagesFromBlob (const cv::Mat &blob_, OutputArrayOfArrays images_)
 Parse a 4D blob and output the images it contains as 2D arrays through a simpler data structure (std::vector<cv::Mat>). More...
 
void cv::dnn::NMSBoxes (const std::vector< Rect > &bboxes, const std::vector< float > &scores, const float score_threshold, const float nms_threshold, std::vector< int > &indices, const float eta=1.f, const int top_k=0)
 Performs non maximum suppression given boxes and corresponding scores. More...
 
void cv::dnn::NMSBoxes (const std::vector< Rect2d > &bboxes, const std::vector< float > &scores, const float score_threshold, const float nms_threshold, std::vector< int > &indices, const float eta=1.f, const int top_k=0)
 
void cv::dnn::NMSBoxes (const std::vector< RotatedRect > &bboxes, const std::vector< float > &scores, const float score_threshold, const float nms_threshold, std::vector< int > &indices, const float eta=1.f, const int top_k=0)
 
void cv::dnn::NMSBoxesBatched (const std::vector< Rect > &bboxes, const std::vector< float > &scores, const std::vector< int > &class_ids, const float score_threshold, const float nms_threshold, std::vector< int > &indices, const float eta=1.f, const int top_k=0)
 Performs batched non maximum suppression on given boxes and corresponding scores across different classes. More...
 
void cv::dnn::NMSBoxesBatched (const std::vector< Rect2d > &bboxes, const std::vector< float > &scores, const std::vector< int > &class_ids, const float score_threshold, const float nms_threshold, std::vector< int > &indices, const float eta=1.f, const int top_k=0)
 
Net cv::dnn::readNet (const String &model, const String &config="", const String &framework="")
 Read deep learning network represented in one of the supported formats. More...
 
Net cv::dnn::readNet (const String &framework, const std::vector< uchar > &bufferModel, const std::vector< uchar > &bufferConfig=std::vector< uchar >())
 Read deep learning network represented in one of the supported formats. More...
 
Net cv::dnn::readNetFromCaffe (const String &prototxt, const String &caffeModel=String())
 Reads a network model stored in Caffe framework's format. More...
 
Net cv::dnn::readNetFromCaffe (const std::vector< uchar > &bufferProto, const std::vector< uchar > &bufferModel=std::vector< uchar >())
 Reads a network model stored in Caffe model in memory. More...
 
Net cv::dnn::readNetFromCaffe (const char *bufferProto, size_t lenProto, const char *bufferModel=NULL, size_t lenModel=0)
 Reads a network model stored in Caffe model in memory. More...
 
Net cv::dnn::readNetFromDarknet (const String &cfgFile, const String &darknetModel=String())
 Reads a network model stored in Darknet model files. More...
 
Net cv::dnn::readNetFromDarknet (const std::vector< uchar > &bufferCfg, const std::vector< uchar > &bufferModel=std::vector< uchar >())
 Reads a network model stored in Darknet model files. More...
 
Net cv::dnn::readNetFromDarknet (const char *bufferCfg, size_t lenCfg, const char *bufferModel=NULL, size_t lenModel=0)
 Reads a network model stored in Darknet model files. More...
 
Net cv::dnn::readNetFromModelOptimizer (const String &xml, const String &bin="")
 Load a network from Intel's Model Optimizer intermediate representation. More...
 
Net cv::dnn::readNetFromModelOptimizer (const std::vector< uchar > &bufferModelConfig, const std::vector< uchar > &bufferWeights)
 Load a network from Intel's Model Optimizer intermediate representation. More...
 
Net cv::dnn::readNetFromModelOptimizer (const uchar *bufferModelConfigPtr, size_t bufferModelConfigSize, const uchar *bufferWeightsPtr, size_t bufferWeightsSize)
 Load a network from Intel's Model Optimizer intermediate representation. More...
 
Net cv::dnn::readNetFromONNX (const String &onnxFile)
 Reads a network model ONNX. More...
 
Net cv::dnn::readNetFromONNX (const char *buffer, size_t sizeBuffer)
 Reads a network model from ONNX in-memory buffer. More...
 
Net cv::dnn::readNetFromONNX (const std::vector< uchar > &buffer)
 Reads a network model from ONNX in-memory buffer. More...
 
Net cv::dnn::readNetFromTensorflow (const String &model, const String &config=String())
 Reads a network model stored in TensorFlow framework's format. More...
 
Net cv::dnn::readNetFromTensorflow (const std::vector< uchar > &bufferModel, const std::vector< uchar > &bufferConfig=std::vector< uchar >())
 Reads a network model stored in TensorFlow framework's format. More...
 
Net cv::dnn::readNetFromTensorflow (const char *bufferModel, size_t lenModel, const char *bufferConfig=NULL, size_t lenConfig=0)
 Reads a network model stored in TensorFlow framework's format. More...
 
Net cv::dnn::readNetFromTFLite (const String &model)
 Reads a network model stored in TFLite framework's format. More...
 
Net cv::dnn::readNetFromTFLite (const std::vector< uchar > &bufferModel)
 Reads a network model stored in TFLite framework's format. More...
 
Net cv::dnn::readNetFromTFLite (const char *bufferModel, size_t lenModel)
 Reads a network model stored in TFLite framework's format. More...
 
Net cv::dnn::readNetFromTorch (const String &model, bool isBinary=true, bool evaluate=true)
 Reads a network model stored in Torch7 framework's format. More...
 
Mat cv::dnn::readTensorFromONNX (const String &path)
 Creates blob from .pb file. More...
 
Mat cv::dnn::readTorchBlob (const String &filename, bool isBinary=true)
 Loads blob which was serialized as torch.Tensor object of Torch7 framework. More...
 
void cv::dnn::shrinkCaffeModel (const String &src, const String &dst, const std::vector< String > &layersTypes=std::vector< String >())
 Convert all weights of Caffe network to half precision floating point. More...
 
void cv::dnn::softNMSBoxes (const std::vector< Rect > &bboxes, const std::vector< float > &scores, std::vector< float > &updated_scores, const float score_threshold, const float nms_threshold, std::vector< int > &indices, size_t top_k=0, const float sigma=0.5, SoftNMSMethod method=SoftNMSMethod::SOFTNMS_GAUSSIAN)
 Performs soft non maximum suppression given boxes and corresponding scores. Reference: https://arxiv.org/abs/1704.04503. More...
 
void cv::dnn::writeTextGraph (const String &model, const String &output)
 Create a text representation for a binary network stored in protocol buffer format. More...