hi_vpc_lut_remap
hi_vpc_bord_type
说明
定义边界填充的类型。
定义
typedef enum {
HI_BORDER_CONSTANT = 0,
HI_BORDER_REPLICATE,
HI_BORDER_REFLECT,
HI_BORDER_REFLECT_101
} hi_vpc_bord_type;
成员
| 成员名称 | 描述 |
|---|---|
| HI_BORDER_CONSTANT | 添加有颜色的常数值边界。 |
| HI_BORDER_REPLICATE | 重复最后一个元素。 举例,其中*表示任意图像元素: aaaaaa|a*****h|hhhhhhh; |
| HI_BORDER_REFLECT | 边界元素的镜像,镜像包括边界元素。硬件限制,不支持该选项。 举例,其中*表示任意图像元素:ba|abc*******fgh|hg; |
| HI_BORDER_REFLECT_101 | 边界元素的镜像,镜像不包括边界元素。硬件限制,不支持该选项。 举例,其中*表示任意图像元素:cb|abc****fgh|gf; |
注意事项
| 版本 | 约束 |
|---|---|
| Atlas 200/500 A2推理产品 | 支持HI_BORDER_CONSTANT和HI_BORDER_REPLICATE可以填充到4096*8192 |
父主题: VPC图像处理
hi_vpc_make_border_info
说明
VPC图像填充需要用的信息。
定义
typedef struct {
hi_u32 top;
hi_u32 bottom;
hi_u32 left;
hi_u32 right;
hi_vpc_bord_type border_type;
hi_vpc_scalar scalar_value;
} hi_vpc_make_border_info;
成员
| 成员名称 | 描述 |
|---|---|
| top | 顶部填充像素数。 |
| bottom | 底部填充像素数。 |
| left | 左侧填充像素数。 |
| right | 右侧填充像素数。 |
| border_type | 扩充边缘像素的类型。 |
| scalar_value | 仅在填充类型为HI_BORDER_CONSTANT的时候有效,指定填充的像素值。 |
父主题: VPC图像处理
hi_vpc_histogram_config
说明
存放直方图统计结果的结构体。
定义
typedef struct {
hi_u32 histogram_y_or_r[256];
hi_u32 histogram_u_or_g[256];
hi_u32 histogram_v_or_b[256];
} hi_vpc_histogram_config;
成员
| 成员名称 | 描述 |
|---|---|
| histogram_y_or_r | Y或者R分量,像素分布情况。 |
| histogram_u_or_g | U或者G分量,像素分布情况。 |
| histogram_v_or_b | V或者B分量,像素分布情况。 |
父主题: VPC图像处理
hi_vpc_lut_remap
说明
配置图像各分量重映射信息的结构体。
定义
typedef struct {
hi_u8 map_value_y_or_r[256];
hi_u8 map_value_u_or_g[256];
hi_u8 map_value_v_or_b[256];
} hi_vpc_lut_remap;
成员
| 成员名称 | 描述 |
|---|---|
| map_value_y_or_r | Y或者R分量的重映射配置信息。 |
| map_value_u_or_g | U或者G分量的重映射配置信息。 |
| map_value_v_or_b | V或者B分量的重映射配置信息。 |
父主题: VPC图像处理
hi_vpc_scalar
说明
定义图像处理像素各分量结构体。
定义
typedef struct {
hi_double val[4];
} hi_vpc_scalar;
成员
| 成员名称 | 描述 |
|---|---|
| val | 存放颜色分量的值,取值范围[0,255]。 当前支持用户手动按顺序存放R、G、B分量或Y、U、V分量的值,即val[0]存放R分量或Y分量,val[1]存放G分量或U分量,val[2]存放B分量或V分量,val[3]预留。 若输入、输出图片格式都是YUV格式,填充YUV分量的值;反之,填充的是RGB分量的值。 |
父主题: VPC图像处理
hi_vpc_chn_attr
说明
定义图像处理通道属性结构体。
定义
typedef struct {
hi_s32 attr;
hi_u32 pic_width;
hi_u32 pic_height;
} hi_vpc_chn_attr;
成员
| 成员名称 | 描述 |
|---|---|
| attr | Atlas 200/500 A2推理产品,预留参数,暂不支持。 任务队列深度,取值范围:[0,350],取值越大,队列深度越深,在一个通道内可下发的任务数量越多,但系统内部内存消耗线性增加。 attr参数取值为[0,350]之间,具体说明如下: - 取值为0,表示默认使用32。 - 取值为[1, 10),VPC内部考虑批量任务的处理(例如hi_mpi_vpc_batch_crop_resize_paste),自动将队列深度设置为10。 - 取值为[10, 350],取用户所配置的值。 (说明:任务队列深度取值大于350时,当前版本会自行采用350的取值,为避免后续版本的兼容性问题,建议用户在[队列深度最小值,350]范围内取值。 在一个VPC处理通道关联n个线程的场景下,防止通道队列满而阻塞任务下发,建议增加任务队列深度以保证性能,当线程数≤32时,可使用默认队列深度32;当线程数>32时,建议队列深度大于或等于线程数。) |
| pic_width | 通道支持的处理图像最大宽(以像素为单位)。预留字段,暂不支持。需要用户手动设置为0,避免后续版本的兼容性问题。 静态属性。 |
| pic_height | 通道支持的处理图像最大高(以像素为单位)。预留字段,暂不支持。需要用户手动设置为0,避免后续版本的兼容性问题。 静态属性。 |
父主题: VPC图像处理
hi_vpc_crop_resize_border_region
说明
VPC抠图缩放填充信息结构体。
定义
typedef struct {
hi_vpc_pic_info dest_pic_info;
hi_vpc_crop_region crop_region;
hi_vpc_resize_info resize_info;
hi_u32 dest_top_offset;
hi_u32 dest_left_offset;
hi_vpc_bord_type border_type;
hi_vpc_scalar scalar_value;
} hi_vpc_crop_resize_border_region;
成员
| 成员名称 | 描述 |
|---|---|
| dest_pic_info | 目标图片信息。 |
| crop_region | 原图抠图区域信息。 |
| resize_info | 抠图缩放信息。 |
| dest_top_offset | 贴图到另外一张图的顶部偏移。 |
| dest_left_offset | 贴图到另外一张图的左侧偏移。 |
| border_type | 扩充边缘像素的类型。 |
| scalar_value | 仅在填充类型为HI_BORDER_CONSTANT的时候有效,指定填充的像素值。 当前支持用户手动按顺序存放R、G、B分量或Y、U、V分量的值。 若输入输出都是YUV格式,填充YUV分量的值;反之,填充的是RGB分量的值。 |
注意事项
默认抠图区域的图片格式会转成目标图片的格式,然后再缩放、填充至目标图片的宽高。
父主题: VPC图像处理
在线提单