跳到主要内容

hi_mpi_vpc_get_affine_transform

hi_mpi_vpc_draw_cover

函数功能

对输入图片的部分区域做覆盖处理。

约束说明

  • 输入、输出图片分辨率的取值范围为:10*6~4096*8192,且输入、输出图片的分辨率需保持一致。

  • 支持如下输入图片格式(输出图片格式与输入保持一致):

    HI_PIXEL_FORMAT_YUV_400 = 0, // YUV400 8bit
    HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bit
    HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bit
    HI_PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // YUV422SP 8bit
    HI_PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // YVU422SP 8bit
    HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422Packed YUYV 8bit
    HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422Packed YVYU 8bit
    HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444 Package 8bit
    HI_PIXEL_FORMAT_RGB_888 = 12, // RGB888
    HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888
    HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444 Package 8bit
    HI_PIXEL_FORMAT_RGB_888_PLANAR = 69, // RGB888 Planar
    HI_PIXEL_FORMAT_BGR_888_PLANAR = 70, // BGR888 Planar

函数原型

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)

参数说明

参数名输入/输出说明
chn输入图片处理通道号。 Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。
cover_param输入覆盖信息。 在hi_cover_param结构体内配置输入、输出图片信息,以及覆盖参数。
milli_sec输入超时时间配置,单位是毫秒,取值范围如下:
- -1:阻塞方式
- 0:非阻塞方式
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。
task_id输出任务ID的指针,用来区分任务。

返回值说明

父主题: VPC图像处理功能

hi_mpi_vpc_draw_line

函数功能

对输入图片做画线处理。

约束说明

  • 输入、输出图片分辨率的取值范围为:10*6~4096*8192,且输入、输出图片的分辨率需保持一致。

  • 支持如下输入图片格式(输出图片格式与输入保持一致):

    HI_PIXEL_FORMAT_YUV_400 = 0, // YUV400 8bit
    HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bit
    HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bit
    HI_PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // YUV422SP 8bit
    HI_PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // YVU422SP 8bit
    HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422Packed YUYV 8bit
    HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422Packed YVYU 8bit
    HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444 Package 8bit
    HI_PIXEL_FORMAT_RGB_888 = 12, // RGB888
    HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888
    HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444 Package 8bit
    HI_PIXEL_FORMAT_RGB_888_PLANAR = 69, // RGB888 Planar
    HI_PIXEL_FORMAT_BGR_888_PLANAR = 70, // BGR888 Planar

函数原型

hi_s32 hi_mpi_vpc_draw_line(hi_vpc_chn chn, const hi_line_param* line_param, hi_u32* task_id, hi_s32 milli_sec)

参数说明

参数名输入/输出说明
chn输入图片处理通道号。 Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。
line_param输入画线信息。 在hi_line_param结构体内配置输入、输出图片信息,以及画线参数。
milli_sec输入超时时间配置,单位是毫秒,取值范围如下:
- -1:阻塞方式
- 0:非阻塞方式
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。
task_id输出任务ID的指针,用来区分任务。

返回值说明

父主题: VPC图像处理功能

hi_mpi_vpc_draw_osd

函数功能

对输入图片做叠加处理,可用于添加水印的场景。

约束说明

  • 输入、输出图片分辨率的取值范围为:10*6~4096*8192,且输入、输出图片的分辨率需保持一致。

  • 支持如下输入图片格式(输出图片格式与输入保持一致):

    HI_PIXEL_FORMAT_YUV_400 = 0, // YUV400 8bit
    HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bit
    HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bit
    HI_PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // YUV422SP 8bit
    HI_PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // YVU422SP 8bit
    HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422Packed YUYV 8bit
    HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422Packed YVYU 8bit
    HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444 Package 8bit
    HI_PIXEL_FORMAT_RGB_888 = 12, // RGB888
    HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888
    HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444 Package 8bit
    HI_PIXEL_FORMAT_RGB_888_PLANAR = 69, // RGB888 Planar
    HI_PIXEL_FORMAT_BGR_888_PLANAR = 70, // BGR888 Planar

函数原型

hi_s32 hi_mpi_vpc_draw_osd(hi_vpc_chn chn, hi_osd_param* osd_param, hi_u32* task_id, hi_s32 milli_sec)

参数说明

参数名输入/输出说明
chn输入图片处理通道号。 Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。
osd_param输入叠加信息。 在hi_osd_param结构体内配置输入、输出图片信息,以及叠加参数。
milli_sec输入超时时间配置,单位是毫秒,取值范围如下:
- -1:阻塞方式
- 0:非阻塞方式
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。
task_id输出任务ID的指针,用来区分任务。

返回值说明

父主题: VPC图像处理功能

hi_mpi_vpc_get_affine_transform

函数功能

获取仿射变换需要的变换矩阵。

函数原型

hi_s32 hi_mpi_vpc_get_affine_transform(****hi_point_pair_info *point_pair_info, hi_transform_matrix *matrix)

参数说明

参数名输入/输出说明
point_pair_info输入三对输入、输出图片中的像素点坐标信息,每对中分别包含一个输入图片像素点坐标、一个输出图片像素点坐标。
matrix输出仿射变换需要的变换矩阵。

返回值说明

父主题: VPC图像处理功能

hi_mpi_vpc_get_rotation_matrix

函数功能

获取仿射变换需要的旋转矩阵。

函数原型

hi_s32 hi_mpi_vpc_get_rotation_matrix(****hi_float_point center_point, hi_double angle, hi_double scale, hi_transform_matrix *matrix)

参数说明

参数名输入/输出说明
center_point输入输入图像的旋转中心点。
angle输入旋转角度,正值表示逆时针旋转。
scale输入缩放参数。 scale参数值大于1表示放大图片,参数值小于1表示缩小图片。
matrix输出仿射变换的旋转矩阵。

返回值说明

父主题: VPC图像处理功能

hi_mpi_vpc_warp_affine

函数功能

对输入图片做仿射变换。

约束说明

  • 输入、输出图片分辨率的取值范围为:10*6~4096*8192。

  • 关于输入、输出图片格式的要求如下(关于图片宽高对齐、内存等约束,请参见约束说明):

    版本约束
    Atlas 200/500 A2推理产品- 支持如下输入图片格式:
    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_RGB_888 = 12, // RGB888<br> HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888<br> HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444P 8bit<br> HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444P 8bit<br>
    - 支持如下输出图片格式:
    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_RGB_888 = 12, // RGB888<br> HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888<br> HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444P 8bit<br> HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444P 8bit<br> HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422P YUYV 8bit <br> HI_PIXEL_FORMAT_UYVY_PACKED_422 = 8, // YUV422P UYVY 8bit<br> HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422P YVYU 8bit <br> HI_PIXEL_FORMAT_VYUY_PACKED_422 = 10, // YUV422P VYUY 8bit <br>
  • 在任务执行过程中,需要临时缓存,因此每个通道第一次执行本接口前需先调用hi_mpi_vpc_set_chn_workspace接口申请内部临时缓存。

  • 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,在配置边界填充类型时,建议设置为“边界复制模式”,避免输出图片边缘异常数据。

函数原型

hi_s32 hi_mpi_vpc_warp_affine(hi_vpc_chn chn, hi_transform_matrix *matrix**, hi_warp_transform_param *transform_param, hi_u32 *task_id, hi_s32 milli_sec)**

参数说明

参数名输入/输出说明
chn输入图片处理通道号。 Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。
matrix输入使用hi_mpi_vpc_get_affine_transform或者hi_mpi_vpc_get_rotation_matrix接口获取的仿射变换矩阵。
transform_param输入仿射变换参数,在hi_warp_transform_param结构体内配置输入、输出图片信息。
milli_sec输入超时时间配置,单位是毫秒,取值范围如下:
- -1:阻塞方式
- 0:非阻塞方式
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。
task_id输出任务ID的指针,用来区分任务。

返回值说明

父主题: VPC图像处理功能

hi_mpi_vpc_flip

函数功能

对输入图片做翻转处理,支持水平方向翻转、竖直方向翻转和水平竖直方向同时翻转。

约束说明

  • 输入、输出图片分辨率的取值范围为:10*6~4096*8192,且输入、输出图片的分辨率需保持一致。

  • 支持如下输入图片格式:(输出格式需与输入保持一致)

    HI_PIXEL_FORMAT_YUV_400 = 0, // YUV400 8bit
    HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bit
    HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bit
    HI_PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // YUV422SP 8bit
    HI_PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // YVU422SP 8bit
    HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422Packed YUYV 8bit
    HI_PIXEL_FORMAT_UYVY_PACKED_422 = 8,
    // YUV422Packed UYVY 8bit
    HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422Packed YVYU 8bit
    HI_PIXEL_FORMAT_VYUY_PACKED_422 = 10,
    // YUV422Packed VYUY 8bit
    HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444 Package 8bit
    HI_PIXEL_FORMAT_RGB_888 = 12, // RGB888
    HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888
    HI_PIXEL_FORMAT_ARGB_8888 = 14,
    // ARGB_8888
    HI_PIXEL_FORMAT_ABGR_8888 = 15,
    // ABGR_8888
    HI_PIXEL_FORMAT_RGBA_8888 = 16,
    // RGBA_8888
    HI_PIXEL_FORMAT_BGRA_8888 = 17,
    // BGRA_8888
    HI_PIXEL_FORMAT_YVU_PLANAR_444 = 22,
    // YVU444 Planar 8bit
    HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444 Package 8bit
    HI_PIXEL_FORMAT_RGB_888_PLANAR = 69, // RGB888 Planar
    HI_PIXEL_FORMAT_BGR_888_PLANAR = 70, // BGR888 Planar

函数原型

hi_s32 hi_mpi_vpc_flip(hi_vpc_chn chn, hi_flip_param* flip_param, hi_u32* task_id, hi_s32 milli_sec)

参数说明

参数名输入/输出说明
chn输入图片处理通道号。 Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。
flip_param输入翻转信息。 在hi_flip_param结构体内配置输入、输出图片信息以及翻转模式。
milli_sec输入超时时间配置,单位是毫秒,取值范围如下:
- -1:阻塞方式
- 0:非阻塞方式
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。
task_id输出任务ID的指针,用来区分任务。

返回值说明

父主题: VPC图像处理功能

在线提单