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
保護

此類的文件生成自以下檔案