通过仿射变换模块可对图像进行剪裁缩放、镜像翻转和平移处理。
本节内容包含:
剪裁缩放算法工作流程如下:
进行图像剪裁。即先计算ROI内目标物体的最小外接矩形,再将外接矩内的图像裁剪出来,如下图所示。
裁剪后图像的宽高和最小外接矩形宽高对应。若外接矩形一部分在图像外部,则需要根据预设的填充方式和填充值进行填充。具体填充方式见下文的参数配置。
进行图像缩放。即缩放需要输出的目标图像尺寸,计算公式如下。
其中CropH、CropW表示裁剪后图像的高度和宽度;DstH、DstW表示输出目标图像的高度和宽度;scale表示设置裁剪缩放的尺度;aspect表示设置的宽高比。
平移包括X和Y方向平移,实现原理为将像素矩阵整体向X或Y方向平移,移动区域使用0填充。
水平垂直镜像表示先水平镜像后再垂直镜像,故本文仅介绍水平镜像和垂直镜像。
水平镜像指将输入图像的像素矩阵左右翻转;垂直镜像指将像素矩阵上下翻转,翻转原理示意图如下。
以下仅介绍该模块的运行参数详情。通过配置运行参数,可定义当前模块如何处理输入的数据。
可配置的运行参数随仿射变换类型选择而变化,具体见如下表格。
无论选择哪种仿射变换类型,均可启用/关闭锁定输出尺寸。启用后,可设置宽高限制输出图像的尺寸。
参数 |
描述 |
---|---|
尺度 |
图像缩放系数 |
宽高比 |
图像宽度与高度的比值 |
插值方式 |
可选最邻近和双线性
|
填充方式 |
旋转矩阵超出图像边界部分的灰度值填充方式,可选常数或临近复制,临近复制表示使用相邻像素点的灰度值进行填充 |
填充值 |
填充方式设置为常数时,通过该参数设置具体填充的灰度值 |
参数 |
描述 |
---|---|
镜像方向 |
可选择水平、垂直或水平垂直 |
参数 |
描述 |
---|---|
X移动距离 |
取值为正数时图像向左平移,负数时图片向右平移 |
Y移动距离 |
取值为正数时图片向上平移,负数时图片向下平移 |
该模块输出结果中各项参数详情,请参见仿射变换模块的输出结果。