OpenCV 4.10.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分配的输出 blob,将存储计算结果。

◆ setInputCrop()

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

设置帧的裁剪标志。

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

◆ setInputMean()

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

设置帧的平均值。

参数
[in]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([, scale[, size[, mean[, swapRB[, crop]]]]]) -> None

设置帧的预处理参数。

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

◆ setInputScale()

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

设置帧的缩放因子值。

参数
[in]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

设置帧的输入大小。

参数
[in]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

这是一个重载成员函数,提供方便。它与上面的函数的不同之处仅在于它接受的参数。

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

◆ setInputSwapRB()

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

设置帧的 swapRB 标志。

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

◆ setOutputNames()

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

设置帧的输出名称。

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

◆ setPrefer

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

◆ setPreferableTarget()

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

成员数据文档

◆ impl

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

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