用于异构内核实现集合和图转换的容器类。 更多...
#include <opencv2/gapi/gkernel.hpp>
|
| std::vector< cv::gapi::GBackend > | backends () const |
| | 列出包含在程序包中的所有后端。
|
| |
| std::vector< std::string > | get_kernel_ids () const |
| | 返回程序包中包含的内核 ID 向量。
|
| |
| const std::vector< GTransform > & | get_transformations () const |
| | 返回程序包中包含的转换向量。
|
| |
| template<typename KImpl > |
| void | include () |
| | 将新的内核实现或新的转换 KImpl 放入程序包中。
|
| |
| void | include (const cv::gapi::GBackend &backend, const std::string &kernel_id) |
| | 基于其后端和 ID 将新内核添加到内核程序包中。
|
| |
| void | include (const cv::gapi::GFunctor &functor) |
| |
| template<typename KImpl > |
| bool | includes () const |
| | 测试此内核程序包中是否包含特定的内核实现 KImpl。
|
| |
| template<typename KAPI > |
| bool | includesAPI () const |
| |
| template<typename KAPI > |
| cv::gapi::GBackend | lookup () const |
| | 查找内核(按其 API)
|
| |
| template<typename KAPI > |
| void | remove () |
| | 从程序包中删除实现给定 API 的所有内核。
|
| |
| void | remove (const cv::gapi::GBackend &backend) |
| | 从程序包中删除与给定后端关联的所有内核。
|
| |
| GAPI_WRAP std::size_t | size () const |
| | 返回程序包中内核的总数(跨所有包含的后端)
|
| |
用于异构内核实现集合和图转换的容器类。
GKernelPackage 是一个特殊的容器类,用于存储内核实现和图转换。 此类的对象被创建并传递给 cv::GComputation::compile(),以指定要使用的内核和要在已编译图中应用的转换。 GKernelPackage 可能包含不同后端的内核,例如,可以是异构的。
创建内核程序包最简单的方法是使用函数 cv::gapi::kernels()。 此模板函数以类型列表(variadic 模板)的形式获取内核实现,并在其之上生成内核程序包。
还可以通过编程方式生成内核程序包,从一个空程序包开始(使用默认构造函数创建),然后通过调用 GKernelPackage::include() 使用内核填充它。 请注意,此方法也是一个模板方法,因为 G-API 内核和转换实现是类型,而不是对象。
最后,两个内核程序包可以使用函数 cv::gapi::combine() 组合成一个新的程序包。
◆ backends()
| std::vector< cv::gapi::GBackend > cv::GKernelPackage::backends |
( |
| ) |
const |
◆ get_kernel_ids()
| std::vector< std::string > cv::GKernelPackage::get_kernel_ids |
( |
| ) |
const |
返回程序包中包含的内核 ID 向量。
- 返回
- 程序包中包含的内核 ID 向量
◆ get_transformations()
| const std::vector< GTransform > & cv::GKernelPackage::get_transformations |
( |
| ) |
const |
返回程序包中包含的转换向量。
- 返回
- 程序包中包含的转换向量
◆ include() [1/3]
template<typename KImpl >
| void cv::GKernelPackage::include |
( |
| ) |
|
|
inline |
将新的内核实现或新的转换 KImpl 放入程序包中。
◆ include() [2/3]
| void cv::GKernelPackage::include |
( |
const cv::gapi::GBackend & | backend, |
|
|
const std::string & | kernel_id ) |
基于其后端和 ID 将新内核添加到内核程序包中。
- 参数
-
| backend | 与内核关联的后端 |
| kernel_id | 内核的名称/ID |
◆ include() [3/3]
| void cv::GKernelPackage::include |
( |
const cv::gapi::GFunctor & | functor | ) |
|
◆ includes()
template<typename KImpl >
| bool cv::GKernelPackage::includes |
( |
| ) |
const |
|
inline |
测试此内核程序包中是否包含特定的内核实现 KImpl。
- 另请参见
- includesAPI()
- 注意
- 不能应用于转换
- 返回
- 如果存在这样的内核,则为 true,否则为 false。
◆ includesAPI()
template<typename KAPI >
| bool cv::GKernelPackage::includesAPI |
( |
| ) |
const |
|
inline |
检查程序包是否包含 API 类型内核 API 的任何实现。
◆ lookup()
template<typename KAPI >
| cv::gapi::GBackend cv::GKernelPackage::lookup |
( |
| ) |
const |
|
inline |
查找内核(按其 API)
返回与 ID 对应的实现。 如果未找到任何内容,则抛出异常。
- 返回
- 托管匹配内核实现的后端。
◆ remove() [1/2]
template<typename KAPI >
| void cv::GKernelPackage::remove |
( |
| ) |
|
|
inline |
从程序包中删除实现给定 API 的所有内核。
如果没有实现给定接口的内核,则不执行任何操作。
◆ remove() [2/2]
| void cv::GKernelPackage::remove |
( |
const cv::gapi::GBackend & | backend | ) |
|
从程序包中删除与给定后端关联的所有内核。
如果程序包中没有此后端的内核,则不执行任何操作。
- 参数
-
◆ size()
| GAPI_WRAP std::size_t cv::GKernelPackage::size |
( |
| ) |
const |
| Python |
|---|
| cv.GKernelPackage.size( | | ) -> | retval |
返回程序包中内核的总数(跨所有包含的后端)
- 返回
- 程序包中内核的数量
◆ cv::gapi::combine
基于 lhs 和 rhs 创建新的程序包。
- 参数
-
| lhs | 流程中的“左侧”程序包 |
| rhs | 流程中的“右侧”程序包 |
- 返回
- 一个新的内核程序包。
此类文档由以下文件生成