OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
dnn.hpp 檔案參考
#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>
dnn.hpp 的包含依賴關係圖
此圖顯示了哪些檔案直接或間接包含了此檔案

類  cv::dnn::BackendNode
 此類的派生類封裝了特定後端的功能。 更多...
 
類  cv::dnn::BackendWrapper
 此類的派生類為不同後端和目標封裝 cv::Mat更多...
 
類  cv::dnn::ClassificationModel
 此類代表分類模型的高階 API。 更多...
 
類  cv::dnn::DetectionModel
 此類代表目標檢測網路的高階 API。 更多...
 
結構體  cv::dnn::Image2BlobParams
 影像到 Blob 的處理引數。 更多...
 
類  cv::dnn::KeypointsModel
 此類代表關鍵點模型的高階 API。 更多...
 
類  cv::dnn::Layer
 此介面類允許構建新層 - 網路的構建塊。 更多...
 
類  cv::dnn::LayerParams
 此類提供初始化層所需的所有資料。 更多...
 
類  cv::dnn::Model
 此類代表神經網路的高階 API。 更多...
 
類  cv::dnn::Net
 此類允許建立和操作綜合性人工神經網路。 更多...
 
類  cv::dnn::SegmentationModel
 此類代表分割模型的高階 API。 更多...
 
類  cv::dnn::TextDetectionModel
 文字檢測網路的基類。 更多...
 
類  cv::dnn::TextDetectionModel_DB
 此類代表相容 DB 模型的文字檢測深度學習網路高階 API。 更多...
 
類  cv::dnn::TextDetectionModel_EAST
 此類代表相容 EAST 模型的文字檢測深度學習網路高階 API。 更多...
 
類  cv::dnn::TextRecognitionModel
 此類代表文字識別網路的高階 API。 更多...
 

名稱空間

名稱空間  cv
 
名稱空間  cv::dnn
 
名稱空間  cv::dnn::accessor
 

型別定義

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

列舉

列舉  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
}
 層支援的計算後端列舉。 更多...
 
列舉  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
}
 模型推理的資料佈局列舉。 更多...
 
列舉  cv::dnn::ImagePaddingMode {
  cv::dnn::DNN_PMODE_NULL = 0 ,
  cv::dnn::DNN_PMODE_CROP_CENTER = 1 ,
  cv::dnn::DNN_PMODE_LETTERBOX = 2
}
 影像處理模式列舉。旨在促進 dnn 模型預處理要求的專業化。例如,Yolo 系列模型中常用的 letter box更多...
 
enum class  cv::dnn::SoftNMSMethod {
  cv::dnn::SoftNMSMethod::SOFTNMS_LINEAR = 1 ,
  cv::dnn::SoftNMSMethod::SOFTNMS_GAUSSIAN = 2
}
 Soft NMS 方法列舉。 更多...
 
列舉  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
}
 計算目標裝置列舉。 更多...
 

函式

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)
 從影像建立 4 維 Blob。可選地,從中心調整和裁剪 image,減去 mean 值,按 scalefactor 縮放值,交換藍色和紅色通道。
 
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)
 從影像建立4維Blob。
 
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)
 從影像序列建立 4 維 Blob。可選地,從中心調整和裁剪 images,減去 mean 值,按 scalefactor 縮放值,交換藍色和紅色通道。
 
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)
 從系列影像建立4維Blob。
 
Mat cv::dnn::blobFromImagesWithParams (InputArrayOfArrays images, const Image2BlobParams &param=Image2BlobParams())
 使用給定引數從影像序列建立 4 維 Blob。
 
void cv::dnn::blobFromImagesWithParams (InputArrayOfArrays images, OutputArray blob, const Image2BlobParams &param=Image2BlobParams())
 
Mat cv::dnn::blobFromImageWithParams (InputArray image, const Image2BlobParams &param=Image2BlobParams())
 根據給定引數從影像建立4維Blob。
 
void cv::dnn::blobFromImageWithParams (InputArray image, OutputArray blob, const Image2BlobParams &param=Image2BlobParams())
 
void cv::dnn::enableModelDiagnostics (bool isDiagnosticsMode)
 啟用使用 CV DNN API 載入 DNN 模型的詳細日誌記錄。
 
std::vector< std::pair< Backend, Target > > cv::dnn::getAvailableBackends ()
 
std::vector< Targetcv::dnn::getAvailableTargets (dnn::Backend be)
 
void cv::dnn::imagesFromBlob (const cv::Mat &blob_, OutputArrayOfArrays images_)
 解析 4D Blob 並將其包含的影像作為 2D 陣列透過更簡單的資料結構 (std::vector<cv::Mat>) 輸出。
 
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)
 根據給定邊界框和相應分數執行非極大值抑制。
 
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)
 對給定邊界框和不同類別的相應分數執行批次非極大值抑制。
 
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 &framework, const std::vector< uchar > &bufferModel, const std::vector< uchar > &bufferConfig=std::vector< uchar >())
 讀取以支援格式之一表示的深度學習網路。
 
Net cv::dnn::readNet (CV_WRAP_FILE_PATH const String &model, CV_WRAP_FILE_PATH const String &config="", const String &framework="")
 讀取以支援格式之一表示的深度學習網路。
 
Net cv::dnn::readNetFromCaffe (const char *bufferProto, size_t lenProto, const char *bufferModel=NULL, size_t lenModel=0)
 讀取記憶體中以Caffe模型格式儲存的網路模型。
 
Net cv::dnn::readNetFromCaffe (const std::vector< uchar > &bufferProto, const std::vector< uchar > &bufferModel=std::vector< uchar >())
 讀取記憶體中以Caffe模型格式儲存的網路模型。
 
Net cv::dnn::readNetFromCaffe (CV_WRAP_FILE_PATH const String &prototxt, CV_WRAP_FILE_PATH const String &caffeModel=String())
 讀取以 Caffe 框架格式儲存的網路模型。
 
Net cv::dnn::readNetFromDarknet (const char *bufferCfg, size_t lenCfg, const char *bufferModel=NULL, size_t lenModel=0)
 讀取以 Darknet 模型檔案格式儲存的網路模型。
 
Net cv::dnn::readNetFromDarknet (const std::vector< uchar > &bufferCfg, const std::vector< uchar > &bufferModel=std::vector< uchar >())
 讀取以 Darknet 模型檔案格式儲存的網路模型。
 
Net cv::dnn::readNetFromDarknet (CV_WRAP_FILE_PATH const String &cfgFile, CV_WRAP_FILE_PATH const String &darknetModel=String())
 讀取以 Darknet 模型檔案格式儲存的網路模型。
 
Net cv::dnn::readNetFromModelOptimizer (const std::vector< uchar > &bufferModelConfig, const std::vector< uchar > &bufferWeights)
 從 Intel 的 Model Optimizer 中間表示載入網路。
 
Net cv::dnn::readNetFromModelOptimizer (const uchar *bufferModelConfigPtr, size_t bufferModelConfigSize, const uchar *bufferWeightsPtr, size_t bufferWeightsSize)
 從 Intel 的 Model Optimizer 中間表示載入網路。
 
Net cv::dnn::readNetFromModelOptimizer (CV_WRAP_FILE_PATH const String &xml, CV_WRAP_FILE_PATH const String &bin="")
 從 Intel 的 Model Optimizer 中間表示載入網路。
 
Net cv::dnn::readNetFromONNX (const char *buffer, size_t sizeBuffer)
 ONNX 記憶體緩衝區讀取網路模型。
 
Net cv::dnn::readNetFromONNX (const std::vector< uchar > &buffer)
 ONNX 記憶體緩衝區讀取網路模型。
 
Net cv::dnn::readNetFromONNX (CV_WRAP_FILE_PATH const String &onnxFile)
 讀取 ONNX 網路模型。
 
Net cv::dnn::readNetFromTensorflow (const char *bufferModel, size_t lenModel, const char *bufferConfig=NULL, size_t lenConfig=0)
 讀取以 TensorFlow 框架格式儲存的網路模型。
 
Net cv::dnn::readNetFromTensorflow (const std::vector< uchar > &bufferModel, const std::vector< uchar > &bufferConfig=std::vector< uchar >())
 讀取以 TensorFlow 框架格式儲存的網路模型。
 
Net cv::dnn::readNetFromTensorflow (CV_WRAP_FILE_PATH const String &model, CV_WRAP_FILE_PATH const String &config=String())
 讀取以 TensorFlow 框架格式儲存的網路模型。
 
Net cv::dnn::readNetFromTFLite (const char *bufferModel, size_t lenModel)
 讀取以 TFLite 框架格式儲存的網路模型。
 
Net cv::dnn::readNetFromTFLite (const std::vector< uchar > &bufferModel)
 讀取以 TFLite 框架格式儲存的網路模型。
 
Net cv::dnn::readNetFromTFLite (CV_WRAP_FILE_PATH const String &model)
 讀取以 TFLite 框架格式儲存的網路模型。
 
Net cv::dnn::readNetFromTorch (CV_WRAP_FILE_PATH const String &model, bool isBinary=true, bool evaluate=true)
 讀取以 Torch7 框架格式儲存的網路模型。
 
Mat cv::dnn::readTensorFromONNX (CV_WRAP_FILE_PATH const String &path)
 從 .pb 檔案建立Blob。
 
Mat cv::dnn::readTorchBlob (const String &filename, bool isBinary=true)
 載入作為 Torch7 框架的 torch.Tensor 物件序列化的 Blob。
 
void cv::dnn::shrinkCaffeModel (CV_WRAP_FILE_PATH const String &src, CV_WRAP_FILE_PATH const String &dst, const std::vector< String > &layersTypes=std::vector< String >())
 將 Caffe 網路的所有權重轉換為半精度浮點數。
 
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)
 根據給定邊界框和相應分數執行軟非極大值抑制。參考:https://arxiv.org/abs/1704.04503
 
void cv::dnn::writeTextGraph (CV_WRAP_FILE_PATH const String &model, CV_WRAP_FILE_PATH const String &output)
 為以協議緩衝區格式儲存的二進位制網路建立文字表示。