文档
注册

Image

函数功能

Image类的构造函数,可支持以下方式进行创建。若因内存不足,或无法识别芯片等构造失败的场景,则会抛出异常。

  • 创建空Image对象。
  • 创建自定义内存数据的图片,图片格式类型默认为ImageFormat::YUV_SP_420,设备ID默认为Host侧(deviceId = -1)。
  • 创建带对齐高、宽和有效高、宽,自定义内存数据的图片,使用时需满足以下条件。
    • “deviceId”(设备ID)需为有效值,取值范围为[-1, 识别到的Device数-1],否则接口会调用失败。
    • “format”支持以下图片格式类型。
      YUV_400 = 0,
      RGB_888 = 12,
      BGR_888 = 13,
      ARGB_8888 = 14,
      ABGR_8888 = 15,
      RGBA_8888 = 16,
      BGRA_8888 = 17,
    • “dataSize”需要与有效宽高对齐后宽高一致,计算公式可参考:dataSize = 宽 * 高 * 通道数

用户申请Host内存后,如需在Device侧构造Image对象,请参考如下操作进行。

  1. 在Host侧构造Image对象,“deviceId”“-1”(与“imageData”内存位置一致,设置为Host侧)。
  2. 构造后的Image对象使用ToDevice(deviceId)方法,将内存迁移至Device侧。

函数原型

Image::Image();
Image::Image(const std::shared_ptr<uint8_t> imageData, const uint32_t dataSize, const int32_t deviceId = -1, const Size imageSize = DEFAULT_IMAGE_SIZE, const ImageFormat format = ImageFormat::YUV_SP_420);
Image::Image(const std::shared_ptr<uint8_t> imageData, const uint32_t dataSize, const int32_t deviceId, const std::pair<Size, Size> imageSizeInfo, const ImageFormat format);

参数说明

参数名

输入/输出

说明

imageData

输入

用户构造的输入内存,该内存由用户管理申请和释放,不能为空指针(nullptr)。

dataSize

输入

用户输入内存的大小,需要与实际内存数据大小一致。

imageSize

输入

图像的宽高,默认为(0, 0)。

若用户自申请Device侧的内存,请设置实际内存数据对应的图像高宽数据。

imageSizeInfo

输入

图像有效宽高对齐后宽高的组合,有效宽、高应不超过对齐后的宽、高,输入方式参见如下。

std::pair<Size, Size> imageSizeInfo(有效宽高对齐后的宽高)
  • 有效宽、高取值范围为[6, 8192]。
  • 对齐后宽、高取值范围为[16, 8192],其中宽为16的倍数、高为2的倍数。

format

输入

图片格式类型。

deviceId

输入

用户输入内存的设备ID。若用户自申请Device侧的内存,请输入对应的deviceId。

取值范围:[-1, 识别到的Device数-1]。

该值需要与“imageData”为同一侧内存(Host侧为“-1”,Device侧为具体设备ID),否则后续业务存在风险和异常。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词