函数功能
将DVPP侧Image类转换为Device侧Tensor类,或将Host侧Image转换为Host侧Tensor,转换后的Tensor类对象的数据类型为uint8。
- 若转换失败,则会返回空的Tensor实例。
- 若因内存不足或无法识别芯片等异常场景,导致Tensor类构造失败的话,则会抛出异常。
- “withStride”参数为“true”时,Tensor对象会保留Image对象的补边信息。为减少内存拷贝,提高运行效率,此时返回的Tensor对象与Image对象共享数据内存,同时在该场景下,Image对象的数据内存会与Tensor对象的数据内存相互影响,例如:在Image对象释放后,对应的Tensor对象中的数据将变为无效内存数据。
- ConvertToTensor()为无参数接口时,返回的Tensor对象会保留Image对象的补边信息并存在batch维度(即NHWC,其中batch维度N = 1)。
函数原型
| Tensor Image::ConvertToTensor(bool withStride, bool formatNHWC);
Tensor Image::ConvertToTensor();
|
参数说明
参数名
|
输入/输出
|
说明
|
withStride
|
输入
|
bool类型,指定是否保留补边信息。
- 若为“true”,则表示保留补边信息,与Image对象共享数据内存。
- 若为“false”,表示不保留补边信息,不与Image对象共享数据内存。
|
formatNHWC
|
输入
|
bool类型,指定转换得到的Tensor是否有batch维度。
- 若为“true”,则指定返回Tensor中存在batch维度。
- 若为“false”,则指定返回Tensor中没有batch维度。
|
返回参数说明
数据结构
|
说明
|
Tensor
|
Tensor类,具体请参见Tensor。
|