Skip to main content

hi_mpi_vpc_lut_remap

hi_mpi_vpc_get_perspective_lut

函数功能

根据输入、输出图片中的像素位置坐标点,获取透视变换像素位置重映射表。同步接口。

函数原型

hi_s32 hi_mpi_vpc_get_perspective_lut(hi_point_pair_info *point_pair_info, hi_u32 interpolation, hi_remap_lut *remap_lut)

参数说明

参数名输入/输出说明
point_pair_info输入四对输入、输出图片中的像素点坐标信息,每对中分别包含一个输入图片像素点坐标、一个输出图片像素点坐标。
interpolation输入支持如下缩放算法:
- 0:业界通用的Bilinear算法(与OpenCV算法的计算过程类似)
- 1:业界通用的Nearest neighbor 算法(与OpenCV算法的计算过程类似)
remap_lut输入输出透视变换像素位置重映射表。 在hi_remap_lut结构体内:
- lut参数作为输入时,需由用户提前申请该内存,内存大小lut_size可调用hi_mpi_vpc_get_lut_mem_size接口获取。
- lut参数作为输出时,在成功调用本接口后,用户可从该内存中获取仿射变换LUT表信息。

返回值说明

父主题: VPC图像处理功能

hi_mpi_vpc_get_remap_lut

函数功能

根据用户输入的Remap表(例如仿射、透视、鱼眼等),采用业界通用的Bilinear算法(与OpenCV算法的计算过程类似),获取系统使用的像素位置重映射表。同步接口。

函数原型

hi_s32 hi_mpi_vpc_get_remap_lut(hi_map_param *map_param, hi_remap_lut *remap_lut)

参数说明

参数名输入/输出说明
map_param输入用户原始map表信息。
remap_lut输入&输出像素位置重映射表。 在hi_remap_lut结构体内:
- lut参数作为输入时,需由用户提前申请该内存,内存大小lut_size可调用hi_mpi_vpc_get_lut_mem_size接口获取。
- lut参数作为输出时,在成功调用本接口后,用户可从该内存中获取仿射变换LUT表信息。

返回值说明

父主题: VPC图像处理功能

hi_mpi_vpc_lut_remap

函数功能

基于输入像素位置重映射表的方式对图片进行Remap处理。异步接口。

约束说明

版本约束
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_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接口申请内部临时缓存。 由于硬件约束,除YUV420SP NV12、YUV420SP NV21图片格式外,其它格式在输入与输出保持一致的情况下,无需调用hi_mpi_vpc_set_chn_workspace接口申请内部临时缓存,达到节省内存的目的。
- 单张1080P(1920*1080)的图像处理超时时间建议设置10ms,其他分辨率,按照图像尺寸进行近似的等价折算,例如,4096*4096分辨率的图像建议超时时间设置为40ms。
- 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,在配置边界填充类型时,建议设置为“边界复制模式”,避免输出图片边缘异常数据。

函数原型

hi_s32 hi_mpi_vpc_lut_remap(hi_vpc_chn chn, hi_warp_transform_param *transform_param, hi_remap_lut *remap_lut, hi_u32 *task_id, hi_s32 milli_sec)

参数说明

参数名输入/输出说明
chn输入图片处理通道号。 Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。
transform_param输入Remap变换参数。
remap_lut输入像素位置重映射表信息。 需提前调用以下get接口获取像素位置重映射表信息:hi_mpi_vpc_get_affine_lut、或hi_mpi_vpc_get_perspective_lut、或hi_mpi_vpc_get_remap_lut,但本接口的缩放算法需与get接口的缩放算法保持一致,否则可能导致remap结果不符合预期。
milli_sec输入超时时间配置,单位是毫秒,取值范围如下:
- -1:阻塞方式
- 0:非阻塞方式
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。
task_id输出任务ID的指针,用来区分任务。

返回值说明

父主题: VPC图像处理功能

hi_mpi_vpc_median_blur

函数功能

对输入图片做中值滤波处理。

约束说明

  • 输入、输出图片分辨率的取值范围为: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_median_blur(hi_vpc_chn chn, const hi_median_blur_param* median_blur_param, hi_u32* task_id, hi_s32 milli_sec)

参数说明

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

返回值说明

父主题: VPC图像处理功能

hi_mpi_vpc_erode

函数功能

对输入图片做腐蚀处理。

约束说明

  • 输入、输出图片分辨率的取值范围为: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
  • 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,在配置边界填充类型时,建议设置为“边界复制模式”,避免输出图片边缘异常数据。

函数原型

hi_s32 hi_mpi_vpc_erode(hi_vpc_chn chn, const hi_blur_param* erode_param, hi_u32* task_id, hi_s32 milli_sec)

参数说明

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

返回值说明

父主题: VPC图像处理功能

hi_mpi_vpc_dilate

函数功能

对输入图片做膨胀处理。

约束说明

  • 输入、输出图片分辨率的取值范围为: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
  • 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,在配置边界填充类型时,建议设置为“边界复制模式”,避免输出图片边缘异常数据。

函数原型

hi_s32 hi_mpi_vpc_dilate(hi_vpc_chn chn, const hi_blur_param* dilate_param, hi_u32* task_id, hi_s32 milli_sec)

参数说明

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

返回值说明

父主题: VPC图像处理功能

在线提单