一个用于异构内核实现集合和图形转换的容器类。 更多...
#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()。此模板函数采用类型列表(变参模板)形式的内核实现,并在此基础上生成内核包。
内核包也可以通过编程方式生成,从一个空的包(使用默认构造函数创建)开始,然后通过调用 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 |
◆ 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 | 进程中的“右侧”包 |
- 返回值
- 新的内核包。
此类的文档从以下文件生成