acl.himpi.vpc_crop_resize_resize_paste
acl.himpi.vpc_batch_crop_resize_paste
| c函数原型 | hi_s32 hi_mpi_vpc_batch_crop_resize_paste (hi_vpc_chn chn, const hi_vpc_pic_info *source_pic[], hi_u32 pic_num, 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_batch_crop_resize_paste(chn, source_pic, pic_num, crop_resize_paste_info, count, milli_sec) |
| 函数功能 | acl.himpi.vpc_crop_resize_paste的扩展接口,支持一次处理多张输入图片。可输入多张原图,从每张原图中抠一张或多张子图缩放并贴图到每张目标图上,目标图片的数量与子图数量保持一致。异步接口。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - source_pic:原始图片信息的指针地址列表,相关约束请参见约束说明。 - pic_num:原始图片数量,与source_pic列表长度、count数组长度保持一致。 - crop_resize_paste_info:抠图缩放并贴图信息字典链表,需要用户设置抠图、缩放、贴图信息以及目标图片的内存地址,VPC将抠图缩放贴图后的结果数据存放在用户指定的内存地址中。 - count:每张原图抠图缩放贴图的图片数量,数组内第一个元素的值表示第一张原图的抠图缩放贴图的图片数量,第二个元素的值表示第二张原图的抠图缩放贴图的图片数量,以此类推。count数组内元素值之和等于crop_resize_paste_info数组的长度。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格式时,贴图的顶部偏移、左侧偏移建议为偶数。 - 由于hi_vpc_crop_resize_paste_region结构体内容比较丰富,使用者可以自由组合功能。但存在一些通用约束,例如: - 若是crop的宽高和原图宽高一致,则不进行crop。 - 若是crop的宽高与resize之后的宽高一致,则不进行缩放。 - 若是crop、resize之后的宽高和目标图片一致,并且贴图左上角坐标等于(0,0),则不进行贴图。 |
父主题: VPC图像处理接口
acl.himpi.vpc_batch_crop_resize_make_border
| c函数原型 | hi_s32 hi_mpi_vpc_batch_crop_resize_make_border(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic[], hi_u32 pic_num, hi_vpc_crop_resize_border_region crop_resize_make_border_info[], hi_u32 count[], hi_u32 *task_id, hi_s32 milli_sec); |
|---|---|
| Python函数 | task_id, ret = acl.himpi.vpc_batch_crop_resize_make_border(chn, source_pic, pic_num, crop_resize_make_border_info, count, milli_sec) |
| 函数功能 | acl.himpi.vpc_crop_resize_make_border的扩展接口,支持批处理模式。可输入多张原图,按指定区域从每张输入图片中抠出一个或多个子图,对子图缩放后,再将子图贴到每张目标图片(目标图片的数量与子图数量保持一致)的指定位置,区域之外按指定类型填充。异步接口。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - source_pic:原始图片信息的指针地址列表,相关约束请参见约束说明。 - pic_num:原始图片数量,与source_pic列表长度、count数组长度保持一致。 - crop_resize_make_border_info:抠图缩放填充的信息字典,需要用户设置抠图、缩放、填充信息以及目标图片的内存地址,VPC将抠图缩放填充后的结果数据存放在用户指定的内存地址中。当前填充类型仅支持HI_BORDER_CONSTANT,可以填充到4096*4096。 - count:每张原图抠图缩放填充的图片数量,count数组内元素值之和等于crop_resize_make_border_info数组的长度。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。 - 由于hi_vpc_crop_resize_border_region结构体内容比较丰富,使用者可以自由组合功能。但存在一些通用约束,例如: - 若是crop的宽高和原图宽高一致,则不进行crop。 - 若是crop的宽高与resize之后的宽高一致,则不进行缩放。 - 若是crop、resize之后的宽高和目标图片的宽高一致,并且左上角坐标等于(0,0),则不进行填充。 - 使用本接口实现等比例缩放功能时,相关的描述及约束请参见抠图、贴图约束。 - 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,需注意: - 对于YUV420SP输出格式,上下左右填充的尺寸建议为偶数; - 对于YUV422SP输出格式,左右填充的尺寸建议为偶数。 |
父主题: VPC图像处理接口
acl.himpi.vpc_blur
| c函数原型 | hi_s32 hi_mpi_vpc_blur(hi_vpc_chn chn, const hi_blur_param* blur****_param, hi_u32 *task_id, hi_s32 milli_sec) |
|---|---|
| Python函数 | task_id, ret = acl.himpi.vpc_blur(chn, blur_param, milli_sec**)** |
| 函数功能 | 对输入图片做均值滤波处理。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - blur_param:dict,滤波信息字典,相关约束请参见约束说明。 在hi_blur_param字典内配置输入、输出图片信息,以及均值滤波参数。 - milli_sec:超时时间配置,单位是毫秒,取值范围如下。 - “-1”:阻塞方式。 - “0”:非阻塞方式。 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 - task_id:任务分配的ID,用来区分任务。 |
约束说明
| 版本 | 约束 |
|---|---|
| Atlas 200/500 A2推理产品 | - 输入、输出图片分辨率的取值范围为:10*6~4096*8192,且输入、输出图片的分辨率需保持一致。 - 支持如下输入图片格式(输出图片格式与输入保持一致): text<br> HI_PIXEL_FORMAT_YUV_400 = 0, // YUV400 8bit<br> HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bit <br> HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bit <br> HI_PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // YUV422SP 8bit<br> HI_PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // YVU422SP 8bit<br> HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422Packed YUYV 8bit<br> HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422Packed YVYU 8bit<br> HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444 Package 8bit<br> HI_PIXEL_FORMAT_RGB_888 = 12, // RGB888<br> HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888<br> HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444 Package 8bit<br> HI_PIXEL_FORMAT_RGB_888_PLANAR = 69, // RGB888 Planar<br> HI_PIXEL_FORMAT_BGR_888_PLANAR = 70, // BGR888 Planar<br> - 实现原理和opencv一致,浮点转定点运算部分有差异,精度不能完全对标。 - 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,在配置边界填充类型时,建议设置为“边界复制模式”,避免输出图片边缘异常数据。 |
父主题: VPC图像处理接口
acl.himpi.vpc_crop_resize_resize_paste
| c函数原型 | hi_s32 hi_mpi_vpc_crop_resize_resize_paste(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_crop_resize_resize_paste_region crop_resize_resize_paste_info[], hi_u32 count, hi_u32 *task_id, hi_s32 milli_sec) |
|---|---|
| Python函数 | task_id, ret = acl.himpi.vpc_crop_resize_resize_paste(chn, source_pic,crop_resize_resize_paste_info,count,milli_sec) |
| 函数功能 | 从输入图片中抠图,对抠出的子图进行两次缩放后(两次缩放目的是对敏感图像信息模糊脱敏),贴在用户输出图片的指定区域。异步接口。 Atlas 200/500 A2推理产品,不支持该接口。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - source_pic:dict,原始图片信息字典,请参见hi_vpc_pic_info。 输入图片分辨率在10*6 - **crop_resize_resize_paste_info:**list,抠图缩放并贴图的图片信息数组,该数组长度与count参数值保持一致。元素类型参见hi_vpc_crop_resize_resize_paste_region。 - count:int,抠图缩放贴图的图片数量,取值范围[1,256]。 输入图片分辨率在10*6 - milli_sec:超时时间配置,单位是毫秒,取值范围如下。 - “-1”:阻塞方式。 - “0”:非阻塞方式。 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 - task_id:任务分配的ID,用来区分任务。 |
约束说明
- 输出图片的数量最多等于抠图区域的数量,最少是一张图片。也就是说,如果从输入图片中扣n张子图,那么贴图的目标图片可以是同一张大图,也可以是多张大图。取决于hi_vpc_crop_resize_resize_paste_region结构体中指定的地址。
- 两次缩放中,只能先缩小再放大,每次缩放后的图片的分辨率必须在[10*6, 4096*4096]范围内、宽高缩放比例在[1/32, 32]范围内,两次缩放之后的图片大小必须与抠图的大小保持一致。
- VPC功能的约束请参见约束说明。
父主题: VPC图像处理接口
acl.himpi.vpc_dilate
| c函数原型 | hi_s32 hi_mpi_vpc_dilate(hi_vpc_chn chn, const hi_blur_param* dilate****_param, hi_u32 *task_id, hi_s32 milli_sec) |
|---|---|
| Python函数 | task_id**, ret = acl.himpi.vpc_dilate(chn,** dilate_param, milli_sec**)** |
| 函数功能 | 对输入图片做膨胀处理。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - dilate_param:dict,膨胀信息字典,相关约束请参见约束说明。 在hi_blur_param字典内配置输入、输出图片信息,以及膨胀参数。 - milli_sec:超时时间配置,单位是毫秒,取值范围如下。 - “-1”:阻塞方式。 - “0”:非阻塞方式。 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 - task_id:任务分配的ID,用来区分任务。 |
约束说明
-
输入、输出图片分辨率的取值范围为:10*6~4096*8192,且输入、输出图片的分辨率需保持一致。
-
支持如下输入图片格式(输出图片格式与输入保持一致):
HI_PIXEL_FORMAT_YUV_400 = 0, // YUV400 8bitHI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bitHI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bitHI_PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // YUV422SP 8bitHI_PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // YVU422SP 8bitHI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422Packed YUYV 8bitHI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422Packed YVYU 8bitHI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444 Package 8bitHI_PIXEL_FORMAT_RGB_888 = 12, // RGB888HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444 Package 8bitHI_PIXEL_FORMAT_RGB_888_PLANAR = 69, // RGB888 PlanarHI_PIXEL_FORMAT_BGR_888_PLANAR = 70, // BGR888 Planar -
由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,在配置边界填充类型时,建议设置为“边界复制模式”,避免输出图片边缘异常数据。
父主题: VPC图像处理接口
acl.himpi.vpc_draw_cover
| c函数原型 | hi_s32 hi_mpi_vpc_draw_cover(hi_vpc_chn chn, const hi_cover_param* cover_param**, hi_u32 *task_id, hi_s32 milli_sec)** |
|---|---|
| Python函数 | task_id**, ret = acl.himpi.vpc_draw_cover(chn,** cover_param**,** milli_sec**)** |
| 函数功能 | 对输入图片的部分区域做覆盖处理。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - cover_param:dict,覆盖信息字典。 在hi_cover_param字典内配置输入、输出图片信息,以及覆盖参数。 - milli_sec:超时时间配置,单位是毫秒,取值范围如下。 - “-1”:阻塞方式。 - “0”:非阻塞方式。 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 - task_id:任务分配的ID,用来区分任务。 |
约束说明
-
输入、输出图片分辨率的取值范围为:10*6~4096*8192,且输入、输出图片的分辨率需保持一致。
-
支持如下输入图片格式(输出图片格式与输入保持一致):
HI_PIXEL_FORMAT_YUV_400 = 0, // YUV400 8bitHI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bitHI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bitHI_PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // YUV422SP 8bitHI_PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // YVU422SP 8bitHI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422Packed YUYV 8bitHI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422Packed YVYU 8bitHI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444 Package 8bitHI_PIXEL_FORMAT_RGB_888 = 12, // RGB888HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444 Package 8bitHI_PIXEL_FORMAT_RGB_888_PLANAR = 69, // RGB888 PlanarHI_PIXEL_FORMAT_BGR_888_PLANAR = 70, // BGR888 Planar
父主题: VPC图像处理接口
acl.himpi.vpc_draw_line
| c函数原型 | hi_s32 hi_mpi_vpc_draw_line(hi_vpc_chn chn, const hi_line_param* cover_param**, hi_u32 *task_id, hi_s32 milli_sec)** |
|---|---|
| Python函数 | task_id, ret = acl.himpi.vpc_draw_line(chn, cover_param**,** milli_sec**)** |
| 函数功能 | 对输入图片做画线处理。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - line_param:画线信息字典。 在hi_line_param字典内配置输入、输出图片信息,以及画线参数。 - milli_sec:超时时间配置,单位是毫秒,取值范围如下。 - “-1”:阻塞方式。 - “0”:非阻塞方式。 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 - task_id:任务分配的ID,用来区分任务。 |
约束说明
-
输入、输出图片分辨率的取值范围为:10*6~4096*8192,且输入、输出图片的分辨率需保持一致。
-
支持如下输入图片格式(输出图片格式与输入保持一致):
HI_PIXEL_FORMAT_YUV_400 = 0, // YUV400 8bitHI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bitHI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bitHI_PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // YUV422SP 8bitHI_PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // YVU422SP 8bitHI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422Packed YUYV 8bitHI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422Packed YVYU 8bitHI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444 Package 8bitHI_PIXEL_FORMAT_RGB_888 = 12, // RGB888HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444 Package 8bitHI_PIXEL_FORMAT_RGB_888_PLANAR = 69, // RGB888 PlanarHI_PIXEL_FORMAT_BGR_888_PLANAR = 70, // BGR888 Planar
父主题: VPC图像处理接口
在线提单