![]() |
OpenCV 4.12.0
開源計算機視覺
|
此類是常規 GComputation 的型別化包裝器。更多...
此類是常規 GComputation 的型別化包裝器。
類似 std::function<> 的模板引數指定了圖簽名,因此物件建構函式、apply() 等方法以及派生的 GCompiledT::operator() 也變為型別化的。
使用此類的物件時,無需使用 cv::gin() 或 cv::gout() 修飾符。相反,所有輸入引數都跟在所有輸出引數之後,順序來自模板引數簽名。
請參閱以下示例。常規(非型別化)程式碼是這樣編寫的
在這裡
apply() 實際上接受任意數量的引數(作為向量),因此使用者可以在這裡傳遞錯誤的輸入/輸出數量。C++ 編譯器不會注意到這一點,因為 cv::GComputation API 是多型的,並且只會生成執行時錯誤。現在使用型別化 API 編寫相同的程式碼
關鍵區別在於
GComputationT<> 簽名中定義的值。apply() 不需要任何額外的說明符來區分輸入引數和輸出引數GCompiledT(編譯產物)也接受輸入/輸出引數,而無需額外的說明符。