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

此类提供用于神经网络的高级 API。更多…

#include <opencv2/dnn/dnn.hpp>

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)
 设置帧的裁剪标志。
 
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)
 

受保护属性

Ptr< Impl > impl
 

详细描述

此类提供用于神经网络的高级 API。

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

构造函数和析构函数文档

◆ Model() [1/5]

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

◆ Model() [2/5]

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

◆ Model() [3/5]

cv::dnn::Model::Model ( Model && )
default
Python
cv.dnn.Model(model[, config]) -> <dnn_Model 对象>
cv.dnn.Model(network) -> <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(network) -> <dnn_Model 对象>

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

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

◆ Model() [5/5]

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

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

参数
[in]networkNet 对象。

成员函数文档

◆ enableWinograd()

Model & cv::dnn::Model::enableWinograd ( bool useWinograd)
Python
cv.dnn.Model.enableWinograd(useWinograd) -> 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(frame[, outs]) -> outs

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

参数
[in]frame输入图像。
[out]outs分配的输出 blobs,用于存储计算结果。

◆ setInputCrop()

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

设置帧的裁剪标志。

参数
[in]crop标志位,指示图像在调整大小后是否会被裁剪。

◆ setInputMean()

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

设置帧的均值。

参数
[in]mean包含从通道中减去的平均值的Scalar。

◆ 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([, scale[, size[, mean[, swapRB[, crop]]]]]) ->

设置帧的预处理参数。

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

◆ setInputScale()

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

设置帧的缩放因子。

参数
[in]scale帧值的乘数。

◆ setInputSize() [1/2]

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

设置帧的输入大小。

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

◆ setInputSize() [2/2]

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

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

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

◆ setInputSwapRB()

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

设置帧的 swapRB 标志。

参数
[in]swapRB标志位,指示是否交换第一和最后一个通道。

◆ setOutputNames()

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

设置帧的输出名称。

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

◆ setPreferableBackend()

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

◆ setPreferableTarget()

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

成员数据文档

◆ impl

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

此类的文档是从以下文件生成的