Serialize
ToHost
函数功能
将Image类内保存的图像内存数据转移到Host侧。
函数原型
APP_ERROR ToHost();
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: Image
ToDevice
函数功能
将Image类内保存的图像内存数据转移到Device侧。
函数原型
APP_ERROR ToDevice(const int32_t devId);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| devId | 输入 | 要转移到的设备ID。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: Image
ConvertToTensor
函数功能
将DVPP侧Image类转换为Device侧Tensor类,或将Host侧Image转换为Host侧Tensor,转换后的Tensor类对象的数据类型为uint8。
- 若转换失败,则会返回空的Tensor实例。
- 若因内存不足或无法识别芯片等异常场景,导致Tensor类构造失败的话,则会抛出异常。
:::note 说明
- “withStride”参数为“true”时,Tensor对象会保留Image对象的补边信息。为减少内存拷贝,提高运行效率,此时返回的Tensor对象与Image对象共享数据内存,同时在该场景下,Image对象的数据内存会与Tensor对象的数据内存相互影响,例如:在Image对象释放后,对应的Tensor对象中的数据将变为无效内存数据。
- ConvertToTensor()为无参数接口时,返回的Tensor对象会保留Image对象的补边信息并存在batch维度(即NHWC,其中batch维度N = 1)。 :::
函数原型
Tensor ConvertToTensor(bool withStride, bool formatNHWC);
Tensor ConvertToTensor();
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| withStride | 输入 | bool类型,指定是否保留补边信息。 - 若为“true”,则表示保留补边信息,与Image对象共享数据内存。 - 若为“false”,表示不保留补边信息,不与Image对象共享数据内存。 |
| formatNHWC | 输入 | bool类型,指定转换得到的Tensor是否有batch维度。 - 若为“true”,则指定返回Tensor中存在batch维度。 - 若为“false”,则指定返回Tensor中没有batch维度。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| Tensor | Tensor类,具体请参见Tensor。 |
父主题: Image
Serialize
函数功能
将图像内存数据及元数据序列化后落盘保存为文件。
函数原型
APP_ERROR Serialize(const std::string& filePath, bool forceOverwrite = false);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| filePath | 输入 | 序列化后的数据文件保存路径(包括文件名称),不支持软链接。 |
| forceOverwrite | 输入 | 保存时是否强制覆盖已有文件,默认为“false”,不覆盖。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: Image
Unserialize
函数功能
将Serialize中保存的落盘数据文件加载到内存中,需指定文件名称及具体路径。
函数原型
APP_ERROR Unserialize(const std::string& filePath);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| filePath | 输入 | 落盘数据文件保存路径,输入文件大小支持范围为(0, 4GB]。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: Image
DumpBuffer
函数功能
将图像内存数据落盘到二进制文件,需要指定文件名称及具体路径。
函数原型
APP_ERROR DumpBuffer(const std::string& filePath, bool forceOverwrite = false);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| filePath | 输入 | 落盘数据文件路径(包含文件名称),不支持软链接。 |
| forceOverwrite | 输入 | 保存时是否强制覆盖已有文件,默认为“false”,不覆盖。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: Image
TensorToImage
函数功能
将Host侧Tensor类转换为Host侧Image类,或将Device侧Tensor类转换为DVPP侧Image类。
在转换过程中,会对Image的宽进行16向上对齐、对Image的高进行2向上对齐,转换后的Image类对象将存在补边区域。
转换后的Image类可调用成员函数GetSize()返回Size类对象查看补边后的宽、高,调用成员函数GetOriginalSize()返回Size类对象查看图片原始宽、高。
例如:
- Tensor类对象对应的图片宽、高为500、499时,转换得到的Image类对象在补边后,通过GetOriginalSize()可获得宽、高分别为500、499,通过GetSize()可获得宽、高分别为512、500。
- Tensor类对象对应的图片宽、高为512、500时,转换得到的Image类对象不需要补边,即转换后的Image类对象宽、高仍为512、500。
函数原型
APP_ERROR TensorToImage(const Tensor& inputTensor, Image& outImg, const ImageFormat& imageFormat)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| inputTensor | 输入 | Tensor类,输入张量。输入需满足以下要求。 - 元素类型需为Uint8类型。 - Tensor的维度需为2(YUV400格式时)、3、4。 - Tensor的宽、高、通道数需与“imageFormat”相匹配。 |
| outImg | 输出 | Image类,输出图片,其内存分配在DVPP侧。 |
| imageFormat | 输入 | ImageFormat类,指定图片的格式,需与“inputTensor”数据所对应的图片格式相匹配。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: Image
在线提单