OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
cv::dnn::Model 类参考

此类为神经网络提供高级API。更多...

#include <opencv2/dnn/dnn.hpp>

cv::dnn::Model 的协作图

公共成员函数

 Model (模型) ()
 
 Model (const Model &)=默认
 
 Model (const Net &网络)
 从深度学习网络创建模型。
 
 Model (CV_WRAP_FILE_PATH const String &模型, CV_WRAP_FILE_PATH const String &配置="")
 从支持的格式之一表示的深度学习网络创建模型。modelconfig 参数的顺序无关紧要。
 
 Model (Model &&)=默认
 
ModelenableWinograd (bool 使用Winograd)
 
Impl * getImpl () const
 
Impl & getImplRef () const
 
NetgetNetwork_ ()
 
NetgetNetwork_ () const
 
 operator Net & () const
 
Modeloperator= (const Model &)=默认
 
Modeloperator= (Model &&)=默认
 
void predict (InputArray 帧, OutputArrayOfArrays 输出) const
 给定输入帧,创建输入blob,运行网络并返回输出blobs
 
ModelsetInputCrop (bool 裁剪)
 设置帧的 crop 标志。
 
ModelsetInputMean (const Scalar &均值)
 设置帧的均值。
 
void setInputParams (double 缩放=1.0, const Size &尺寸=Size(), const Scalar &均值=Scalar(), bool 交换RB=false, bool 裁剪=false)
 设置帧的预处理参数。
 
ModelsetInputScale (const Scalar &缩放)
 设置帧的 scalefactor 值。
 
ModelsetInputSize (const Size &尺寸)
 设置帧的输入大小。
 
ModelsetInputSize (int 宽度, int 高度)
 
ModelsetInputSwapRB (bool 交换RB)
 设置帧的 swapRB 标志。
 
ModelsetOutputNames (const std::vector< String > &输出名称)
 设置帧的输出名称。
 
ModelsetPreferableBackend (dnn::Backend 后端ID)
 
ModelsetPreferableTarget (dnn::Target 目标ID)
 

保护属性

Ptr< Impl > impl
 

详细描述

此类是神经网络的高级 API。

Model 允许设置预处理输入图像的参数。Model 从包含训练权重和配置的文件创建网络,设置预处理输入并运行前向传播。

构造函数 & 析构函数文档

◆ Model() [1/5]

cv::dnn::Model::Model ( )
Python
cv.dnn.Model(model[, config]) -> <dnn_Model 对象>
cv.dnn.Model(网络) -> <dnn_Model 对象>

◆ Model() [2/5]

cv::dnn::Model::Model ( const Model & )
default
Python
cv.dnn.Model(model[, config]) -> <dnn_Model 对象>
cv.dnn.Model(网络) -> <dnn_Model 对象>

◆ Model() [3/5]

cv::dnn::Model::Model ( Model (模型) && )
default
Python
cv.dnn.Model(model[, config]) -> <dnn_Model 对象>
cv.dnn.Model(网络) -> <dnn_Model 对象>

◆ Model() [4/5]

cv::dnn::Model::Model ( CV_WRAP_FILE_PATH const String & model,
CV_WRAP_FILE_PATH const String & config = "" )
Python
cv.dnn.Model(model[, config]) -> <dnn_Model 对象>
cv.dnn.Model(网络) -> <dnn_Model 对象>

从支持的格式之一表示的深度学习网络创建模型。modelconfig 参数的顺序无关紧要。

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

◆ Model() [5/5]

cv::dnn::Model::Model ( const Net & 网络)
Python
cv.dnn.Model(model[, config]) -> <dnn_Model 对象>
cv.dnn.Model(网络) -> <dnn_Model 对象>

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

参数
[输入]网络Net 对象。

成员函数文档

◆ enableWinograd()

Model & cv::dnn::Model::enableWinograd ( bool useWinograd(使用Winograd算法))
Python
cv.dnn.Model.enableWinograd(useWinograd(使用Winograd算法)) -> retval
另请参见
Net::enableWinograd

◆ getImpl()

Impl * cv::dnn::Model::getImpl ( ) const
inline

◆ getImplRef()

Impl & cv::dnn::Model::getImplRef ( ) const
inline

◆ getNetwork_() [1/2]

Net & cv::dnn::Model::getNetwork_ ( )
inline
此函数的调用图如下

◆ getNetwork_() [2/2]

Net & cv::dnn::Model::getNetwork_ ( ) const

◆ operator Net &()

cv::dnn::Model::operator Net & ( ) const
inline

◆ operator=() [1/2]

Model & cv::dnn::Model::operator= ( const Model & )
default

◆ operator=() [2/2]

Model & cv::dnn::Model::operator= ( Model (模型) && )
default

◆ predict()

void cv::dnn::Model::predict ( InputArray frame,
OutputArrayOfArrays outs ) const
Python
cv.dnn.Model.predict(帧[, 输出]) -> outs

给定输入帧,创建输入blob,运行网络并返回输出blobs

参数
[输入]frame输入图像。
[输出]outs已分配的输出blob,将存储计算结果。

◆ setInputCrop()

Model & cv::dnn::Model::setInputCrop ( bool crop)
Python
cv.dnn.Model.setInputCrop(crop) -> retval

设置帧的 crop 标志。

参数
[输入]crop指示图像在调整大小后是否裁剪的标志。

◆ setInputMean()

Model & cv::dnn::Model::setInputMean ( const Scalar & mean)
Python
cv.dnn.Model.setInputMean(mean) -> retval

设置帧的均值。

参数
[输入]mean从通道中减去的均值标量值。

◆ setInputParams()

void cv::dnn::Model::setInputParams ( double scale = 1.0,
const Size & size = Size(),
const Scalar & mean = Scalar(),
bool swapRB = false,
bool crop = false )
Python
cv.dnn.Model.setInputParams([, 缩放[, 尺寸[, 均值[, 交换RB[, 裁剪]]]]]) ->

设置帧的预处理参数。

参数
[输入]size新的输入尺寸。
[输入]mean从通道中减去的均值标量值。
[输入]scale帧值的乘数。
[输入]swapRB指示交换第一个和最后一个通道的标志。
[输入]crop指示图像在调整大小后是否裁剪的标志。blob(n, c, y, x) = 缩放 * resize( 帧(y, x, c) ) - 均值(c) )

◆ setInputScale()

Model & cv::dnn::Model::setInputScale ( const Scalar & scale)
Python
cv.dnn.Model.setInputScale(scale) -> retval

设置帧的 scalefactor 值。

参数
[输入]scale帧值的乘数。

◆ setInputSize() [1/2]

Model & cv::dnn::Model::setInputSize ( const Size & size)
Python
cv.dnn.Model.setInputSize(size) -> retval
cv.dnn.Model.setInputSize(width, height) -> retval

设置帧的输入大小。

参数
[输入]size新的输入尺寸。
注意
如果新blob的形状小于0,则帧尺寸不变。

◆ setInputSize() [2/2]

Model & cv::dnn::Model::setInputSize ( int width,
int height )
inline
Python
cv.dnn.Model.setInputSize(size) -> retval
cv.dnn.Model.setInputSize(width, height) -> retval

这是一个重载成员函数,为方便起见而提供。它与上述函数的区别仅在于接受的参数。

参数
[输入]width新的输入宽度。
[输入]height新的输入高度。
此函数的调用图如下

◆ setInputSwapRB()

Model & cv::dnn::Model::setInputSwapRB ( bool swapRB)
Python
cv.dnn.Model.setInputSwapRB(swapRB) -> retval

设置帧的 swapRB 标志。

参数
[输入]swapRB指示交换第一个和最后一个通道的标志。

◆ setOutputNames()

Model & cv::dnn::Model::setOutputNames ( const std::vector< String > & outNames)
Python
cv.dnn.Model.setOutputNames(outNames) -> retval

设置帧的输出名称。

参数
[输入]outNames输出层的名称。

◆ setPreferableBackend()

Model & cv::dnn::Model::setPreferableBackend ( dnn::Backend backendId)
Python
cv.dnn.Model.setPreferableBackend(backendId) -> retval

◆ setPreferableTarget()

Model & cv::dnn::Model::setPreferableTarget ( dnn::Target targetId)
Python
cv.dnn.Model.setPreferableTarget(targetId) -> retval

成员数据文档

◆ impl

Ptr<Impl> cv::dnn::Model::impl
保护

此类的文档生成自以下文件