OpenCV  4.10.0
开源计算机视觉库
正在加载...
正在搜索...
没有匹配项
命名空间 | | 函数
G-API 序列化功能

G-API 用于序列化和反序列化的函数和类。 更多...

详细描述

G-API 用于序列化和反序列化的函数和类。

命名空间

命名空间  cv::gapi
 
命名空间  cv::gapi::s11n
 此命名空间包含 G-API 序列化和反序列化函数以及数据结构。
 

结构体  cv::gapi::s11n::detail::NotImplemented
 
结构体  cv::gapi::s11n::detail::S11N< T >
 此结构允许为自定义类型实现序列化例程。 更多...
 

函数

cv::GRunArg cv::gapi::bind (cv::GRunArgP &out)
 将图执行期间可用的输出 GRunArgsP 包装成可序列化的 GRunArgs。
 
cv::GRunArgsP cv::gapi::bind (cv::GRunArgs &out_args)
 将反序列化的输出 GRunArgs 包装成可由 GCompiled 使用的 GRunArgsP。
 
模板<>
cv::GComputation cv::gapi::deserialize (const std::vector< char > &bytes)
 从字节数组中反序列化 GComputation
 
模板<typename T , typename... Types>
std::enable_if< std::is_same< T, GCompileArgs >::value, GCompileArgs >::type cv::gapi::deserialize (const std::vector< char > &bytes)
 从字节数组中反序列化模板中指定类型的 GCompileArgs。
 
模板<typename T , typename AtLeastOneAdapterT , typename... AdapterTypes>
std::enable_if< std::is_same< T, GRunArgs >::value, GRunArgs >::type cv::gapi::deserialize (const std::vector< char > &bytes)
 从字节数组中反序列化 GRunArgs,包括 RMatMediaFrame 对象(如果有)。
 
std::vector< char > cv::gapi::serialize (const cv::GCompileArgs &ca)
 
std::vector< char > cv::gapi::serialize (const cv::GComputation &c)
 将由 GComputation 表示的图序列化到字节数组中。
 
std::vector< char > cv::gapi::serialize (const cv::GMetaArgs &ma)
 
std::vector< char > cv::gapi::serialize (const cv::GRunArgs &ra)
 
std::vector< char > cv::gapi::serialize (const std::vector< std::string > &vs)
 

函数文档

◆ bind() [1/2]

cv::GRunArg cv::gapi::bind ( cv::GRunArgP out)

#include <opencv2/gapi/garg.hpp>

将图执行期间可用的输出 GRunArgsP 包装成可序列化的 GRunArgs。

GRunArgsP 是指向值的指针,因此要序列化它们,需要将它们绑定到实际值,此函数就是做这个的。

用法示例

std::vector<cv::GRunArgP> graph_outs;
cv::GRunArgs out_args;
for (auto &&out : graph_outs) {
out_args.emplace_back(cv::gapi::bind(out));
}
const auto sargsout = cv::gapi::serialize(out_args);
cv::GRunArgsP bind(cv::GRunArgs &out_args)
将反序列化的输出 GRunArgs 包装成可由 GCompiled 使用的 GRunArgsP。
std::vector< char > serialize(const cv::GComputation &c)
将由 GComputation 表示的图序列化到字节数组中。
std::vector< GRunArg > GRunArgs
定义 garg.hpp:165
参数
out图执行期间可用的输出 GRunArgsP。
返回值
包装在可序列化 GRunArgs 中的相同 GRunArgsP。
另请参阅
serialize

◆ bind() [2/2]

cv::GRunArgsP cv::gapi::bind ( cv::GRunArgs out_args)

#include <opencv2/gapi/garg.hpp>

将反序列化的输出 GRunArgs 包装成可由 GCompiled 使用的 GRunArgsP。

由于无法从反序列化中获取可修改的输出参数,因此需要通过此函数包装它们。

用法示例

std::vector<char> bytes;
auto graph = cv::gapi::deserialize<cv::GComputation>(bytes);
auto meta = cv::gapi::deserialize<cv::GMetaArgs>(bytes);
compd = graph.compile(std::move(meta), cv::compile_args());
auto in_args = cv::gapi::deserialize<cv::GRunArgs>(bytes);
auto out_args = cv::gapi::deserialize<cv::GRunArgs>(bytes);
compd(std::move(in_args), cv::gapi::bind(out_args));
Represents a compiled computation (graph). Can only be used with image / data formats & resolutions i...
定义 gcompiled.hpp:67
GCompileArgs compile_args(Ts &&... args)
Wraps a list of arguments (a parameter pack) into a vector of compilation arguments (cv::GCompileArg)...
定义 gcommon.hpp:214
参数
out_args反序列化的 GRunArgs。
返回值
包装在 GRunArgsP 中的相同 GRunArgs。
另请参阅
deserialize

◆ deserialize() [1/3]

模板<>
cv::GComputation cv::gapi::deserialize ( const std::vector< char > &  bytes)
inline

#include <opencv2/gapi/s11n.hpp>

从字节数组中反序列化 GComputation

查看不同的重载以获取更多示例。

参数
bytes序列化的字节向量。
返回值
反序列化的 GComputation 对象。

◆ deserialize() [2/3]

模板<typename T , typename... Types>
std::enable_if< std::is_same< T, GCompileArgs >::value, GCompileArgs >::type cv::gapi::deserialize ( const std::vector< char > &  bytes)
inline

#include <opencv2/gapi/s11n.hpp>

从字节数组中反序列化模板中指定类型的 GCompileArgs。

注意
必须提供 cv::gapi::s11n::detail::S11N 模板特化才能使 GCompileArgs 中的自定义类型可反序列化。
参数
bytes用于从字节向量反序列化 GCompileArgs 对象。
返回值
GCompileArgs 对象。
另请参阅
GCompileArgs cv::gapi::s11n::detail::S11N

◆ deserialize() [3/3]

模板<typename T , typename AtLeastOneAdapterT , typename... AdapterTypes>
std::enable_if< std::is_same< T, GRunArgs >::value, GRunArgs >::type cv::gapi::deserialize ( const std::vector< char > &  bytes)
inline

#include <opencv2/gapi/s11n.hpp>

从字节数组中反序列化 GRunArgs,包括 RMatMediaFrame 对象(如果有)。

适配器类型在模板中指定。

注意
为了正确使用,指定的适配器类型必须重载其 deserialize() 方法。
参数
bytes用于从字节向量反序列化 GRunArgs 对象。
返回值
包括 RMatMediaFrame 对象(如果有)的 GRunArgs。
另请参阅
RMat MediaFrame

◆ serialize() [1/5]

std::vector< char > cv::gapi::serialize ( const cv::GCompileArgs ca)

#include <opencv2/gapi/s11n.hpp>

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

参数
ca要序列化的 GCompileArgs。

◆ serialize() [2/5]

std::vector< char > cv::gapi::serialize ( const cv::GComputation c)

#include <opencv2/gapi/s11n.hpp>

将由 GComputation 表示的图序列化到字节数组中。

查看不同的重载以获取更多示例。

参数
cGComputation 要序列化。
返回值
序列化的字节向量。

◆ serialize() [3/5]

std::vector< char > cv::gapi::serialize ( const cv::GMetaArgs ma)

#include <opencv2/gapi/s11n.hpp>

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

参数
ma要序列化的 GMetaArgs。

◆ serialize() [4/5]

std::vector< char > cv::gapi::serialize ( const cv::GRunArgs ra)

#include <opencv2/gapi/s11n.hpp>

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

参数
ra要序列化的 GRunArgs。

◆ serialize() [5/5]

std::vector< char > cv::gapi::serialize ( const std::vector< std::string > &  vs)

#include <opencv2/gapi/s11n.hpp>

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

参数
vs要序列化的 std::vector<std::string>。