下载
中文
注册

GDC功能介绍

GDC是什么

几何畸变矫正(Geometric Distortion Correction,以下简称GDC)子系统实现的功能:对一帧图像进行鱼眼校正(包括360全景、180全景和Normal三种校正模式)、LDC(镜头畸变校正)校正功能。GDC相关API和参数说明请参见CANN AscendCL应用软件开发指南(C&C++)的"AscendCL API参考>媒体数据处理V2"章节下的接口说明:

  • hi_mpi_vi_set_chn_ldc_attr
  • hi_mpi_vi_get_chn_ldc_attr
  • hi_mpi_vpss_set_grp_fisheye_cfg
  • hi_mpi_vpss_get_grp_fisheye_cfg
  • hi_mpi_vpss_set_chn_fisheye
  • hi_mpi_vpss_get_chn_fisheye

矫正流程如下图所示。

图1 场景一:普通fisheye矫正功能
图2 LDC(Lens Distortion Correction)

鱼眼矫正的安装模式、校正模式

鱼眼支持地装、顶装、壁装三种安装模式。地装即镜头安装在桌面或地面等仰视场景;顶装,即安装在天花板等俯视场景;壁装,即安装在墙面等垂直面上的场景。

鱼眼支持360全景校正、180全景校正、normal校正三种校正模式

在不同的安装场景下,可选择与之适合的校正模式以达到最佳效果。鱼眼在各校正模式下可以只通过改变PTZ(Pan/Tilt/Zoom)参数选取校正区域,实现电子PTZ功能。选取校正区域的设置方法为ptz模式,各校正模式在典型场景时的PTZ参数含义及校正模型如下表所示。

表1 鱼眼校正典型场景下的参数说明

校正模式

典型场景

典型场景时参数说明

校正模型

360全景校正

顶装地装

  • pan:校正区域的起始位置;
  • tilt:校正区域相对原图在半径方向上的移动;
  • hor_zoom:校正区域的范围(幅度);
  • ver_zoom:调节校正区域的高度。

180全景校正

壁装

  • pan:视场角左右转动;
  • tilt:视场角上下转动;
  • hor_zoom:水平视场角大小;
  • ver_zoom:垂直视场角大小。

normal校正

壁装顶装地装

  • pan:视场角左右转动;
  • tilt:视场角上下转动;
  • hor_zoom:水平、垂直视场角大小;
  • ver_zoom:无效参数。

  • 360校正模式下不支持壁装,180校正模式下不支持顶装和地装。
  • 鱼眼参数外半径out_radius用于限定鱼眼原图内容的边界,超出out_radius部分硬件视为无效内容(黑色),out_radius应设置为鱼眼原图的实际半径。内半径in_radius仅在360全景校正模式下有效,与外半径out_radius共同确定校正区域在半径方向上的范围,无论何种校正模式,外半径都应该设置为原图半径值,校正区域应通过PTZ参数来确定。

镜头畸变矫正的模式

镜头畸变矫正支持桶形畸变和枕形畸变两种矫正模式,如下图所示。

图3 桶形畸变矫正模式
图4 枕形畸变矫正模式
表2 LDC_V1参数配置列表

配置参数

配置范围

参数意义

center_x_offset

-511~+511

图像中心点相对于物理中心点的水平偏移

center_y_offset

-511~+511

图像中心点相对于物理中心点的垂直偏移

distortion_ratio

[-300,500]

矫正强度,负数为枕型,正数为桶型

aspect

bool

视野调整过程中是否保持幅型比

xy_ratio

0~100

视野大小参数,aspect=1时有效

x_ratio

0~100

X方向视野大小参数,aspect=0时有效

y_ratio

0~100

Y方向视野大小参数,aspect=0时有效

建议用棋盘格进行矫正标定。

视场角介绍

图5 水平、垂直视场角示意图
图6 水平视场角转动示意图
图7 垂直视场角转动示意图