acl.himpi.vpc_crop_resize
acl.himpi.vpc_resize
| c函数原型 | hi_s32 hi_mpi_vpc_resize (hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_pic_info *dest_pic, hi_double fx, hi_double fy, hi_u32 interpolation, hi_u32 *task_id, hi_s32 milli_sec); |
|---|---|
| Python函数 | task_id, ret = acl.himpi.vpc_resize(chn, source_pic, dest_pic, fx, fy, interpolation, milli_sec) |
| 函数功能 | 对图像进行按照一定比例进行缩放或者缩放到固定尺寸。异步接口。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - source_pic:原始图片信息,相关约束请参见约束说明。 - dest_pic:目标图片信息。 - fx:宽的缩放比例。 - fy:高的缩放比例。 - interpolation:缩放算法。此处配置的缩放算法建议与训练模型时的缩放算法保持一致。 Atlas 200/500 A2推理产品,支持如下缩放算法: - 0:业界通用的Bilinear算法(与OpenCV-3.4.2版本算法的计算结果相同) - 1:业界通用的Nearest neighbor 算法(与OpenCV-3.4.2版本算法的计算结果相同) - milli_sec:超时时间配置,单位是毫秒,取值范围如下。 - “-1”:阻塞方式。 - “0”:非阻塞方式。 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 - task_id:此次任务分配的ID,用来区分任务。 |
约束说明
| 昇腾AI处理器 | 约束 |
|---|---|
| Atlas 200/500 A2推理产品 | - 使用本接口对输入、输出图片分辨率的要求如下: - 输入图片分辨率:10*6 - 输出图片分辨率:10*6 - 关于图片格式、宽高对齐、内存等约束,请参见图片格式、宽高对齐、内存约束。 - 当输入、输出图片格式都为ARGB8888、ABGR8888、RGBA8888、BGRA8888格式时,在经过本接口缩放处理后,A分量值会变为0。 - 设置fx/fy之后,缩放后的图片的分辨率必须在[10*6~16384*16384]范围内,否则返回错误。 - 缩放可以通过fx/fy或者目标图片宽高两种方式来指定,但是两者均配置以目标尺寸缩放优先。两者不可同时为0。 |
父主题: VPC图像处理接口
acl.himpi.vpc_crop
| c函数原型 | hi_s32 hi_mpi_vpc_crop(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_crop_region_info crop_info[], hi_u32 count, hi_u32 *task_id, hi_s32 milli_sec); |
|---|---|
| Python函数 | task_id, ret = acl.himpi.vpc_crop(chn, source_pic, crop_info, count, milli_sec) |
| 函数功能 | 按照指定区域从一张输入图片中抠出一张或多张子图。异步接口。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - source_pic:原始图片信息,相关约束请参见约束说明。 - crop_info:抠图图片信息数组,该数组长度与count参数值保持一致。 - count: 抠图区域的数量,取值范围[1,256]。 - milli_sec:超时时间配置,单位是毫秒,取值范围如下。 - “-1”:阻塞方式。 - “0”:非阻塞方式。 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - task_id:此次任务分配的ID,用来区分任务。 - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 |
| 参考资源 | 接口调用流程,参见典型功能接口调用流程(以缩放为例)。 |
约束说明
| 昇腾AI处理器 | 约束 |
|---|---|
| Atlas 200/500 A2推理产品 | - 关于图片分辨率、图片格式、宽高对齐、内存等约束,请参见约束说明。 - 单张1080P的图像处理超时时间建议设置3ms,以此类推,如果是2张1080P的图像,建议设置超时间为6ms;如果是3张1080P图片,建议设置超时时间为9ms。其他分辨率,按照图像尺寸进行近似的等价折算,例如,3840*2160分辨率的图像建议超时时间设置为12ms。 |
父主题: VPC图像处理接口
acl.himpi.vpc_crop_resize
| c函数原型 | hi_s32 hi_mpi_vpc_crop_resize(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_crop_resize_region crop_resize_info[], hi_u32 count, hi_u32 *task_id, hi_s32 milli_sec); |
|---|---|
| Python函数 | task_id, ret = acl.himpi.vpc_crop_resize(chn, source_pic, crop_resize_info, count, milli_sec) |
| 函数功能 | 从一张大图中扣出一张或多张子图,并缩放到指定尺寸。异步接口。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - source_pic:原始图片信息,相关约束请参见约束说明。 - crop_resize_info: 抠图并缩放的图片信息数组,该数组长度与count参数值保持一致。 - count:抠图并缩放的图片数量,取值范围[1,256]。 - milli_sec:超时时间配置,单位是毫秒,取值范围如下。 - “-1”:阻塞方式。 - “0”:非阻塞方式。 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码 - task_id:任务分配的ID,用来区分任务。 |
约束说明
| 昇腾AI处理器 | 约束 |
|---|---|
| Atlas 200/500 A2推理产品 | - 关于图片分辨率、图片格式、宽高对齐、内存等约束,请参见约束说明。 - 当输入、输出图片格式都为ARGB8888、ABGR8888、RGBA8888、BGRA8888格式时,在经过本接口缩放处理后,A分量值会变为0。 - 若是crop的宽高与resize之后的宽高一致,则不进行缩放;resize宽高必须与输出宽高一致。 |
父主题: VPC图像处理接口
acl.himpi.vpc_crop_resize_paste
| c函数原型 | hi_s32 hi_mpi_vpc_crop_resize_paste (hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_crop_resize_paste_region crop_resize_paste_info[], hi_u32 count, hi_u32 *task_id, hi_s32 milli_sec); |
|---|---|
| Python函数 | task_id, ret = acl.himpi.vpc_crop_resize_paste(chn, source_pic, crop_resize_paste_info, count, milli_sec) |
| 函数功能 | 从输入图片中抠图,对抠出的子图进行缩放后,放在用户输出图片的指定区域。异步接口。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - source_pic:原始图片信息,相关约束请参见约束说明。 - crop_resize_paste_info:抠图缩放并贴图的图片信息数组,该数组长度与count参数值保持一致。 - count:抠图缩放贴图的图片数量,取值范围[1,256]。 - milli_sec:超时时间配置,单位是毫秒,取值范围如下。 - “-1”:阻塞方式。 - “0”:非阻塞方式。 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 - task_id:任务分配的ID,用来区分任务。 |
| 参考资源 | 无 |
约束说明
| 昇腾AI处理器 | 约束 |
|---|---|
| Atlas 200/500 A2推理产品 | - 关于图片分辨率、图片格式、宽高对齐、内存等约束,请参见约束说明。 - 当输入、输出图片格式都为ARGB8888、ABGR8888、RGBA8888、BGRA8888格式时,在经过本接口缩放处理后,A分量值会变为0。 - 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,贴图的顶部偏移、左侧偏移需为偶数。 - 输出图片的数量最多等于抠图区域的数量,最少是一张图片。也就是说,如果从输入图片中扣n张子图,那么贴图的目标图片可以是同一张大图,也可以是多张大图。取决于hi_vpc_crop_resize_paste_region结构体中指定的地址。 - 由于hi_vpc_crop_resize_paste_region结构体内容比较丰富,使用者可以自由组合功能。例如:若是crop的宽高与resize之后的宽高一致,则不进行缩放。 |
父主题: VPC图像处理接口
acl.himpi.vpc_convert_color
| c函数原型 | hi_s32 hi_mpi_vpc_convert_color (hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_pic_info *dest_pic, hi_u32 *task_id, hi_s32 milli_sec); |
|---|---|
| Python函数 | task_id, ret = acl.himpi.vpc_convert_color(chn, source_pic, dest_pic, milli_sec) |
| 函数功能 | 转换图片的格式。异步接口。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - source_pic:原始图片信息,相关约束请参见约束说明。 - dest_pic:目标图片信息。 需指定输出图片的宽、高、宽stride、高stride、内存地址、内存大小、格式等。 - 配置输出图片的宽、高时,需与输入图片的宽、高保持一致,否则会返回报错。 如果将输出图片的宽或高配置为0,则VPC内部会将输入图片的宽、高分别作为输出图片的宽、高;同时,VPC内部会按对齐要求计算宽stride、高stride,不同图片格式的对齐要求不同,请参见图片格式、宽高对齐、内存约束。 - 配置输出图片的宽stride、高stride时,满足对齐要求即可,不同图片格式的对齐要求不同,请参见图片格式、宽高对齐、内存约束。 - milli_sec:超时时间配置,单位是毫秒,取值范围如下。 - “-1”:阻塞方式。 - “0”:非阻塞方式。 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 - task_id:此次任务分配的ID,用来区分任务。 |
约束说明
| 昇腾AI处理器 | 约束 |
|---|---|
| Atlas 200/500 A2推理产品 | - 输入、输出图片分辨率为10*6~4096*8192(包括4096*8192)。 - 输入图片格式、输出图片格式、宽高对齐约束、内存约束请参见图片格式、宽高对齐、内存约束。 |
父主题: VPC图像处理接口
在线提单