OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
没有匹配项
公共成员函数 | 所有成员列表
cv::dnn::DetectionModel 类参考

此类代表用于目标检测网络的高级 API。 更多...

#include <opencv2/dnn/dnn.hpp>

cv::dnn::DetectionModel 的协作图

公共成员函数

 DetectionModel ()
 
 DetectionModel (const Net &network)
 从深度学习网络创建模型。
 
 DetectionModel (CV_WRAP_FILE_PATH const String &model, CV_WRAP_FILE_PATH const String &config="")
 从以支持格式之一表示的网络创建检测模型。 modelconfig 参数的顺序无关紧要。
 
void detect (InputArray frame, std::vector< int > &classIds, std::vector< float > &confidences, std::vector< Rect > &boxes, float confThreshold=0.5f, float nmsThreshold=0.0f)
 给定 input 帧,创建输入 blob,运行网络并返回结果检测。
 
bool getNmsAcrossClasses ()
 getNmsAcrossClasses 的获取器。 此变量默认为 false,因此在 detect() 函数中使用非最大抑制时,它将仅针对每个类进行。
 
DetectionModelsetNmsAcrossClasses (bool value)
 nmsAcrossClasses 默认为 false,因此在 detect() 函数中使用非最大抑制时,它将仅针对每个类进行。 此函数允许您切换此行为。
 
- 从 cv::dnn::Model 继承的公共成员函数
 Model ()
 
 Model (const Model &)=default
 
 Model (const Net &network)
 从深度学习网络创建模型。
 
 Model (CV_WRAP_FILE_PATH const String &model, CV_WRAP_FILE_PATH const String &config="")
 从以支持格式之一表示的深度学习网络创建模型。 modelconfig 参数的顺序无关紧要。
 
 Model (Model &&)=default
 
ModelenableWinograd (bool useWinograd)
 
Impl * getImpl () const
 
Impl & getImplRef () const
 
NetgetNetwork_ ()
 
NetgetNetwork_ () const
 
 operator Net & () const
 
Modeloperator= (const Model &)=default
 
Modeloperator= (Model &&)=default
 
void predict (InputArray frame, OutputArrayOfArrays outs) const
 给定 input 帧,创建输入 blob,运行网络并返回输出 blobs
 
ModelsetInputCrop (bool crop)
 设置帧的标志 crop。
 
ModelsetInputMean (const Scalar &mean)
 设置帧的平均值。
 
void setInputParams (double scale=1.0, const Size &size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false)
 设置帧的预处理参数。
 
ModelsetInputScale (const Scalar &scale)
 设置帧的缩放因子值。
 
ModelsetInputSize (const Size &size)
 设置帧的输入大小。
 
ModelsetInputSize (int width, int height)
 
ModelsetInputSwapRB (bool swapRB)
 设置帧的标志 swapRB。
 
ModelsetOutputNames (const std::vector< String > &outNames)
 设置帧的输出名称。
 
ModelsetPreferableBackend (dnn::Backend backendId)
 
ModelsetPreferableTarget (dnn::Target targetId)
 

其他继承的成员

- 从 cv::dnn::Model 继承的受保护的属性
Ptr< Impl > impl
 

详细说明

此类代表用于目标检测网络的高级 API。

DetectionModel 允许设置用于预处理输入图像的参数。 DetectionModel 从带有训练权重和配置的文件中创建网络,设置预处理输入,运行前向传递并返回结果检测。 对于 DetectionModel,支持 SSD、Faster R-CNN、YOLO 拓扑结构。

构造函数和析构函数文档

◆ 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 对象>
cv.dnn.DetectionModel(network) -> <dnn_DetectionModel 对象>

从以支持格式之一表示的网络创建检测模型。 modelconfig 参数的顺序无关紧要。

参数
[in]model二进制文件包含训练权重。
[in]config文本文件包含网络配置。

◆ DetectionModel() [2/3]

cv::dnn::DetectionModel::DetectionModel ( const Net network)
Python
cv.dnn.DetectionModel(model[, config]) -> <dnn_DetectionModel 对象>
cv.dnn.DetectionModel(network) -> <dnn_DetectionModel 对象>

从深度学习网络创建模型。

参数
[in]networkNet 对象。

◆ DetectionModel() [3/3]

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

成员函数文档

◆ 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

给定 input 帧,创建输入 blob,运行网络并返回结果检测。

参数
[in]frame输入图像。
[out]classIds结果检测中的类索引。
[out]confidences一组相应的置信度。
[out]boxes一组边界框。
[in]confThreshold用于根据置信度过滤框的阈值。
[in]nmsThreshold在非最大抑制中使用的阈值。

◆ getNmsAcrossClasses()

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

getNmsAcrossClasses 的获取器。 此变量默认为 false,因此在 detect() 函数中使用非最大抑制时,它将仅针对每个类进行。

◆ setNmsAcrossClasses()

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

nmsAcrossClasses 默认为 false,因此在 detect() 函数中使用非最大抑制时,它将仅针对每个类进行。 此函数允许您切换此行为。

参数
[in]valuenmsAcrossClasses 的新值

此类的文档是根据以下文件生成的