数据增强
Contents
数据增强#
Albumentations是一个用于图像增强的Python库,它提供了多种增强技术,包括随机裁剪、旋转、缩放、翻转、变形、颜色变换、模糊等操作。使用Albumentations库可以快速、高效地对图像数据进行增强。 下面将从变换、模糊变换、几何变换、裁剪变换四个部分介绍albumentations增强方法。
变换#
1. clahe 对输入图像应用对比度限制自适应直方图均衡化。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
clip_limit |
对比度限制的上限阈值 |
int |
1 |
1-100 |
clip_limit=(3, 7) |
tile_grid_size |
直方图均衡的网格大小 |
int |
1 |
1-100 |
tile_grid_size=(8, 8) |
注: 如果clip_limit是单个浮点值,则范围为(1, clip_limt)。
1. 通道打乱/channel_shuffle 随机重新排列输入RGB图像的通道。
1. 色彩抖动/color_jitter 随机改变输入图像的亮度、对比度和饱和度.
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
brightness |
亮度抖动程度 |
float |
0.01 |
0.01-10.00 |
brightness=(0.01, 4.25) |
contrast |
对比度抖动程度 |
float |
0.01 |
0.01-10.00 |
contrast=(0.01, 3.07) |
saturation |
饱和度抖动程度 |
float |
0.01 |
0.01-10.00 |
saturation=(0.01, 2.51) |
hue |
色调抖动程度 |
float |
0.01 |
0.01-10.00 |
hue=(-0.5, 0.5) |
注: 亮度因子是从[max(0, 1-亮度),1+亮度]或给定的[min, max]中均匀选择的,对比度和饱和度与亮度因子类似。 色调因子是从[-hue, hue]或给定的[min, max]中均匀选择的。其中0 <= hue <= 0.5 or -0.5 <= min <= max <= 0.5。
4. 降质/downscale 降低输入图像的质量。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
scale |
图像比例 |
float |
0.01 |
0.01-0.99 |
scale=(0.18,0.56) |
5. 浮雕/emboss 浮雕输入图像并将结果与原始图像叠加。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
alpha |
浮雕图像的可见性的范围 |
float |
0.01 |
0-1.00 |
alpha=(0.12, 0.27) |
strength |
浮雕的强度范围 |
float |
0.01 |
0-10.00 |
strength=(0.53, 3.39) |
注: alpha在0时, 表示只有原始图像可见, 在1.0时, 表示只有其浮雕版本可见。strength默认值: (0.2, 0.7)。
6. 直方图均衡化/equalize 对输入图像直方图均衡化。
参数名称 |
参数描述 |
参数类型 |
参数范围 |
示例值 |
---|---|---|---|---|
mode |
直方图均衡化的两种方法(OpenCV或Pillow) |
string |
cv, pil |
mode=”cv” |
by_channels |
控制是否对每个通道单独执行直方图均衡化 |
bool |
False,True |
by_channels=True |
注: 如果by_channels为True,将对每个通道分别执行直方图均衡化,如果为False,则对整个图像的亮度进行直方图均衡化,而不考虑通道。
7. FancyPCA 使用FancyPCA增强输入RGB图像。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
alpha |
对特征向量和vals进行扰动/缩放 |
float |
0.01 |
0-10.00 |
alpha=3.22 |
注: alpha尺度是来自高斯分布的样本(μ=0, sigma=alpha)。
8. 高斯噪声/gauss_noise 对输入图像应用高斯噪声。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
var_limit |
噪声的方差范围 |
float |
0.01 |
0-500.00 |
var_limit=(10.01, 50.02) |
mean |
噪音的平均值 |
float |
0.01 |
-100.00-100.00 |
mean=0 |
注: 如果var_limit是浮点数, 则范围将为(0, var_limit)。默认值: (10.0, 50.0)。mean默认值为0。
9. hue_saturation_value 随机改变输入图像的色调、饱和度和数值。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
hue_shift_limit |
色调的改变范围 |
int |
1 |
-100-100 |
hue_shift_limit=(-20, 20) |
sat_shift_limit |
饱和度的改变范围 |
int |
1 |
-100-100 |
sat_shift_limit=(-30, 30) |
val_shift_limit |
更改值的范围 |
int |
1 |
-100-100 |
val_shift_limit=(-20, 20) |
注: 如果hue_shift_limit是int数据类型,则范围将是(-hue_shift_limit, hue_shift_limit),默认值: (-20, 20)。sat_shift_limit和val_shift_limit与hue_shift_limit类似,sat_shift_limit默认值: (-30, 30)。
10. 图像压缩/image_compression 压缩输入的图像。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
quality |
图像质量 |
int |
1 |
0-100 |
w |
注: jpeg的quality 应在[0, 100]范围内,webp应在[1, 100]范围。
11. 反转变换/invert_img 通过从255减去像素值来反转输入图像。
12. 传感器噪声/iso_noise 对输入图像应用相机传感器噪声。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
color_shift |
控制噪声的颜色偏移,其大小代表颜色偏移程度 |
float |
0.01 |
0-1.00 |
color_shift=(0.01, 0.05) |
intensity |
控制噪声强度的乘法因子 |
float |
0.01 |
0-2.00 |
intensity=(0.10, 0.50) |
13. 乘性噪声/multiplicative_noise 将图像乘以随机数或数字数组。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
multiplier |
乘数(浮点或浮点元组) |
float |
0.01 |
0.10-5.00 |
multiplier=(0.9,1.1) |
per_channel |
通道值选择 |
bool |
False,True |
per_channel=False |
|
elementwise |
相乘值选择 |
bool |
False,True |
elementwise=False |
注: multiplier如果是单个浮动图像将乘以这个数字。如果是浮点乘法器的元组,将在范围[multiplier[0], multiplier[1])。 per_channel如果为False,则将对所有通道使用相同的值。如果为True,则对每个通道使用采样值。默认为False。 elementwise如果为False,则将图像中的所有像素与采样一次的随机值相乘。如果True ,将图像像素与按像素随机采样的值相乘。默认值: False。
14. 色调分层/posterize 减少每个颜色通道的比特数。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
num_bits_r |
red通道高位的数量 |
int |
1 |
0-8 |
num_bits_r=4 |
num_bits_g |
green通道高位的数量 |
int |
1 |
0-8 |
num_bits_g=4 |
num_bits_b |
blue通道高位的数量 |
int |
1 |
0-8 |
num_bits_b=4 |
15. 随机亮度/random_brightness 随机改变输入图像的亮度。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
limit |
亮度的范围 |
float |
0.01 |
-1.00-1.00 |
limit=(-0.2,0.2) |
16. 随机亮度对比度/random_brightness_contrast 随机改变输入图像的亮度和对比度。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
brightness_limit |
改变亮度的因子范围 |
float |
0.01 |
-1.00-1.00 |
brightness_limit=(-0.2,0.2) |
contrast_limit |
改变对比度的因子范围 |
float |
0.01 |
-1.00-1.00 |
contrast_limit=(-0.2,0.2) |
brightness_by_max |
亮度调整的参数 |
bool |
False,True |
brightness_by_max=True |
注: brightness_by_max如果为True,则按图像数据中的最大像素值来调整亮度。为False时,则按照整体平均亮度来进行亮度调整
17. 雾效果/random_fog 为图像模拟雾。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
fog_coef |
雾强度系数 |
float |
0.01 |
0-1.00 |
fog_coef=(0.1, 0.2) |
alpha_coef |
雾圈的透明度 |
float |
0.01 |
0-1.00 |
alpha_coef=0.08 |
18. 下雨效果/random_rain 增加下雨效果。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
slant_lower |
雨滴和正常值的偏差 默认值:随机 |
int |
1 |
-20-20 |
slant_lower=-10 |
slant_upper |
雨滴和正常值的偏差 默认值:随机 |
int |
1 |
-20-20 |
slant_upper=10 |
drop_length |
雨滴长度 默认值:20(像素) |
int |
1 |
0-100 |
drop_length=20 |
drop_width |
雨滴宽度 默认值:1(像素) |
int |
1 |
1-5 |
drop_width=1 |
blur_value |
模糊值 |
int |
1 |
1-15 |
blur_value=7 |
brightness_coefficient |
亮度系数 |
float |
0.01 |
0-1.00 |
brightness_coefficient=0.7 |
rain_type |
雨的种类 |
string |
[None,”drizzle”,”heavy”,”torrential”] |
rain_type=none |
19. 阴影效果/random_shadow 模拟图像的阴影。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
shadow_roi_x |
阴影区域相对于原始图像宽度的x坐标范围 |
float |
0.01 |
0-1 |
shadow_roi_x=[0,1] |
shadow_roi_y |
阴影区域相对于原始图像宽度的y坐标范围 |
float |
0.01 |
0-1 |
shadow_roi_y=[0.5,1] |
num_shadows |
在图像中生成的阴影数量 |
int |
1 |
0-100 |
num_shadows=[1,2] |
shadow_dimension |
生成的阴影维度 |
int |
1 |
0-100 |
shadow_dimension=5 |
20. 雪效果/random_snow 漂白出一些模拟雪的像素值。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
snow_point |
雪花的数量和密度 |
float |
0.01 |
0-1.00 |
snow_point=[0.1,0.3] |
brightness_coeff |
雪花亮度效果系数 |
float |
0.01 |
0-5.00 |
brightness_coeff=2.5 |
21. Gamma变换/random_gamma 对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
gamma_limit |
gamma值的范围 |
int |
1 |
0-200 |
gamma_limit=(0, 60) |
22. 随机改变色调/random_tone_curve 通过操纵色调曲线随机改变图像的亮区和暗区之间的关系。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
scale |
色调曲线的变化幅度 |
float |
0.01 |
0-1.00 |
scale=0.1 |
23. RGB平移/rgb_shift 随机偏移输入RGB图像的每个通道的值。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
r_shift_limit |
红色通道值的范围 |
int |
1 |
-255-255 |
r_shift_limit=(-20, 20) |
g_shift_limit |
绿色通道值的范围 |
int |
1 |
-255-255 |
g_shift_limit=(-20, 20) |
b_shift_limit |
蓝色通道值的范围 |
int |
1 |
-255-255 |
b_shift_limit=(-20, 20) |
24. 锐化/sharpen 锐化输入图像并将结果与原始图像叠加。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
alpha |
锐化图像的可见性的范围 |
float |
0.01 |
0-1.00 |
alpha=(0.2, 0.5) |
lightness |
锐化图像的亮度的范围 |
float |
0.01 |
0-10.00 |
lightness=(0.5, 1.0) |
注: alpha在0时,只有原始图像可见,在1.0时,只有其锐化版本可见。
25. 大于阈值反转/solarize 反转高于阈值的所有像素值。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
threshold |
反转阈值的范围 |
int |
1 |
0-255 |
threshold=128 |
注: 如果threshold是单个值,则范围为[threshold, threshold]。默认值: 128。
26. 超像素/superpixels 将图像部分/完全转换为超像素表示。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
p_replace |
定义线段内的像素被其平均颜色替换的概率 |
float |
0.01 |
0-1.00 |
p_replace=0.1 |
n_segments |
预生成超级像素的粗略目标数 |
int |
1 |
1-1000 |
n_segments=100 |
max_size |
执行增强时的最大图像大小 |
int |
1 |
32-256 |
max_size=128 |
interpolation |
插值算法 |
int |
1 |
0-4 |
interpolation=1 |
注: p_replace未定义时像素不会更改;算法可能偏离n_segments, n_segments值越低,则超级像素越粗糙; 如果图像的宽度或高度超过max_size, 则在增强之前缩小, 使得最长边与“max_size”匹配。这样做是为了加快进程。最终输出图像具有与输入像相同的大小。注意, 在“p_replace”低于“1.0”的情况下, 缩小/放大也会影响未被替换的像素。使用“none”不应用缩小/放大。 插值算法应为以下之一(用0~4数字表示): cv2.INTER_NEAREST, cv2.INTER_LINEAR, cv2.INTER_CUBIC, cv2.INTER_AREA, cv2.INTER_LANCZOS4.。默认值: cv2.INTER_LINEAR。
27. 灰度变换/to_gray 将输入的RGB图像转换为灰度。
28. 滤镜变换/to_sepia 对输入的RGB图像应用sepia滤镜.
模糊变换#
1. 模糊/blur 使用随机大小的内核模糊输入图像。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
blur_limit |
模糊输入图像的最大内核大小 默认值:(3,7) |
int |
1 |
1-100 |
blur_limit=[3, 7] |
2. 高斯模糊/gaussian_blur 使用随机内核大小的高斯滤波器模糊输入图像。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
blur_limit |
模糊输入图像的最大高斯核大小 |
int |
1 |
1-100 |
blur_limit=[3, 7] |
sigma_limit |
高斯核标准差 |
float |
0.01 |
0-100.00 |
sigma_limit=0.5 |
注: blur_limit必须为零或奇数,并且在[0, inf)范围内。如果设置为0,则将根据西格玛计算如“round(sigma*(3 if img.dtype==np.uint8 else 4)*2+1)+1”。如果设置单个值“blur_limit”,则该值将在范围(0, blur_limit.)内。默认值: (3, 7)。 sigma_limit必须在范围[0, inf)内。如果设置单个值“sigma_limit”, 则该值将在范围(0, sigma_limit)内。如果设置为0, sigma将被计算为“sigma=0.3*(ksize-1)*0.5-1)+0.8”。默认值: 0。
玻璃模糊/glassBlur
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
sigma |
高斯核标准差 |
float |
0.01 |
0.01-100.00 |
sigma=0.7 |
max_delta |
交换的像素之间的最大距离 |
int |
1 |
0-100 |
max_delta=4 |
iterations |
重复次数 默认值:(2) |
int |
1 |
1-100 |
iterations=2 |
mode |
计算模式:快速或精确 默认值:快速 |
string |
fast,exact |
mode=”fast” |
4. 中值模糊/median_blur 使用中值滤波器与随机孔径线性大小模糊输入图像。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
blur_limit |
模糊输入图像的最大孔径线性大小 |
int |
2 |
3-100 |
blur_limit=7 |
注: blur_limit必须是奇数并且在[3, inf)范围内。默认值: (3, 7)。
5. 运动模糊/motion_blur 使用随机大小的内核对输入图像应用运动模糊。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
blur_limit |
模糊输入图像的最大内核大小 |
int |
1 |
3-100 |
blur_limit=7 |
注: blur_limit应在范围[3, inf)内。默认值: (3, 7)。
几何变换#
1. 翻转/Flip Ⅰ.水平翻转/HorizontalFlip flip_h 沿y轴水平翻转输入图像。 Ⅱ.垂直翻转/VerticalFlip flip_v 沿x轴垂直翻转输入图像。
2. 旋转/Rotate Ⅰ.旋转90°/Rotate_90 rotate_90 将输入图像旋转90度。 Ⅱ.旋转180°/Rotate_180 rotate_180 将输入图像旋转180度。 Ⅲ.旋转270°/Rotate_270 rotate_270 将输入图像旋转270度。 Ⅳ.任意角度/FreeRotate free_rotate 将输入图像旋转给定的角度。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
limit |
旋转角度的范围 最大范围在[-360,360] 默认范围[-90,90] |
int |
1 |
-360-360 |
limit=45 |
1. 调整大小/resize 调整输入到给定的高度和宽度。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
width |
给定的输出宽度 |
int |
1 |
0-图像最大宽度 |
width=100 |
height |
给定的输出高度 |
int |
1 |
0-图像最大高度 |
height=100 |
interpolation |
插值算法 |
int |
1 |
0-4 |
interpolation=1 |
注: 插值算法应为以下之一(用0~4数字表示): cv2.INTER_NEAREST, cv2.INTER_LINEAR, cv2.INTER_CUBIC, cv2.INTER_AREA, cv2.INTER_LANCZOS4。默认值: cv2.INTER_LINEAR。
4. 随机缩放/randomScale 随机调整输入的大小。输出图像大小与输入图像大小不同。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
scale_limit |
缩放因子范围 |
float |
0.01 |
-0.90-2.00 |
scale_limit=[-0.1, 0.1] |
interpolation |
插值算法 |
int |
1 |
0-4 |
interpolation=1 |
注: 如果scale_limit是单个浮点值, 则范围为(-scale_limit, scale_limt)。请注意, scale_limit将被偏置1。如果scale_limit是元组, 如(low, high), 则将从范围(1+low, 1+high)进行采样。默认值: (-0.1, 0.1)。 插值算法应为以下之一(用0~4数字表示): cv2.INTER_NEAREST,cv2.INTER_LINEAR,cv2.INTER_CUBIC,cv2.INTER_AREA,cv2.INTER_LANCZOS4。默认值: cv2.INTER_LINEAR。
5. smallest_max_size 重新缩放图像,使最小边等于max_size,保持初始图像的纵横比。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
max_size |
变换后图像最小边的最大值 |
int |
1 |
1-1024 |
max_size=200 |
interpolation |
插值算法 |
int |
1 |
0-4 |
interpolation=1 |
注: max_size使用列表时,最大值将从列表中的值中随机选择。 插值算法应为以下之一(用0~4数字表示): cv2.INTER_NEAREST,cv2.INTER_LINEAR,cv2.INTER_CUBIC,cv2.INTER_AREA,cv2.INTER_LANCZOS4。默认值: cv2.INTER_LINEAR。
6. longest_max_size 重新缩放图像,使最大边等于max_size,保持初始图像的纵横比。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
max_size |
变换后图像最大边的最大值 |
int |
1 |
1-1024 |
max_size=200 |
interpolation |
插值算法 |
int |
1 |
0-4 |
interpolation=1 |
注: max_size使用列表时,最大值将从列表中的值中随机选择。 插值算法应为以下之一(用0~4数字表示): cv2.INTER_NEAREST,cv2.INTER_LINEAR,cv2.INTER_CUBIC,cv2.INTER_AREA,cv2.INTER_LANCZOS4。默认值: cv2.INTER_LINEAR。
7. 边界填充/pad_if_needed 填充图像边缘到指定尺寸。(若图像大小大于指定尺寸,不进行任何操作,返回原图)。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
min_height |
结果图像高度最小值 |
int |
1 |
1-2048 |
min_height=200 |
min_width |
结果图像宽度最小值 |
int |
1 |
1-2048 |
min_width=200 |
position |
图像位置 |
string |
center, top_left, top_right, bottom_left, bottom_right |
position=”center” |
注: position应为以下之一: PositionType.CENTER or PositionType.TOP_LEFT or PositionType.TOP_RIGHT or PositionType.BOTTOM_LEFT or PositionType.BOTTOM_RIGHT. or PositionType.RANDOM。 默认值: PositionType.CENTER。
1. 透视变换/perspective 对输入图像执行随机的四点透视变换。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
scale |
正态分布的标准差 |
float |
0.01 |
0-2.00 |
scale=(0.05, 0.1) |
pad_mode |
OpenCV边界模式 |
int |
1 |
0-4 |
pad_mode=0 |
interpolation |
插值算法 |
int |
1 |
0-4 |
interpolation=1 |
注: scale用于采样子图像的角与完整图像的角的随机距离。如果scale是单个浮点值, 则范围为(0, scale)。默认值: (0.05, 0.1)。 插值算法主要有cv2.BORDER_CONSTANT,cv2.BORDER_REFLECT等(用数字0~4表示)。默认为cv2.BORDER_CONSTANT(0)。
9. 仿射变换/shift_scale_rotate 对输入图像随机应用仿射变换:平移,缩放和旋转。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
shift_limit |
高度和宽度的偏移因子范围 |
float |
0.01 |
-1.00-1.00 |
shift_limit=[-0.17, 0.3] |
scale_limit |
缩放因子范围 |
float |
0.01 |
-2.00-2.00 |
scale_limit=[-1.13, 0.93] |
rotate_limit |
旋转范围 |
int |
1 |
-180-180 |
rotate_limit=[-45,45] |
interpolation |
插值算法 |
int |
1 |
0-4 |
interpolation=1 |
注: 如果shift_limit是单个浮点值, 范围为(-shift_limit, shift_limit)。下限和的绝对值上限应该在[0,1]的范围内。默认值: (-0.0625, 0.0625)。 如果scale_limit是单个浮点值, 则范围为(-scale_limit, scale_limt)。请注意, scale_limit将被偏置1。如果scale_limit是元组, 如(low, high), 则将从范围(1+low, 1+high)进行采样。默认值: (-0.1, 0.1)。 如果rotate_limit是单个int值,则范围将为(-ristate_limit, rotate_limit)。默认值: (-45, 45)。 插值算法应为以下之一(用0~4数字表示): cv2.INTER_NEAREST,cv2.INTER_LINEAR,cv2.INTER_CUBIC,cv2.INTER_AREA,cv2.INTER_LANCZOS4。默认值: cv2.INTER_LINEAR。
10. 转置/transpose 通过交换行和列来调换输入图像。
裁剪变换#
1. 裁剪/crop 将输入图像按指定区域裁剪。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
x_limit |
对输入图像裁剪时,裁剪区域x坐标的取值范围 |
int |
1 |
0-图像最大宽度 |
x_limit=(0, 100) |
y_limit |
对输入图像裁剪时,裁剪区域y坐标的取值范围 |
int |
1 |
0-图像最大高度 |
y_limit=(0, 100) |
2. 中心裁剪/center_crop 对输入图像中心部分进行裁剪。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
width |
裁剪的宽度 |
int |
1 |
0-图像最大宽度 |
width=100 |
height |
裁剪的高度 |
int |
1 |
0-图像最大高度 |
height=100 |
3. 随机裁剪/random_crop 对输入图像任意部分进行裁剪。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
width |
裁剪的宽度 |
int |
1 |
0-图像最大宽度 |
width=100 |
height |
裁剪的高度 |
int |
1 |
0-图像最大高度 |
height=100 |
4. 随机裁剪缩放/random_sized_crop 裁剪输入图像的随机部分,并将其重新缩放到某个大小。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
min_max_height |
裁剪大小限制 |
int |
1 |
0-图像最大高度 |
min_max_height=(1, 100) |
width |
裁剪和调整大小后的宽度 |
int |
1 |
0-图像最大宽度 |
width=100 |
height |
裁剪和调整大小后的高度 |
int |
1 |
0-图像最大高度 |
height=100 |
w2h_ratio |
裁剪的纵横比 |
float |
0.01 |
0.10-1.00 |
w2h_ratio=0.38 |
interpolation |
插值算法 |
int |
1 |
0-4 |
interpolation=1 |
注: 插值算法应为以下之一(用0~4数字表示): cv2.INTER_NEAREST,cv2.INTER_LINEAR,cv2.INTER_CUBIC,cv2.INTER_AREA,cv2.INTER_LANCZOS4。默认值: cv2.INTER_LINEAR。
5. 随机宽高比裁剪/random_resized_crop 裁剪输入图像的随机部分,并将其重新缩放到某个大小。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
width |
裁剪和调整大小后的宽度 |
int |
1 |
0-图像最大宽度 |
width=100 |
height |
裁剪和调整大小后的高度 |
int |
1 |
0-图像最大高度 |
height=100 |
w2h_ratio |
裁剪的纵横比 |
float |
0.01 |
0.10-1.00 |
w2h_ratio=0.38 |
scale |
裁剪的原始大小的范围 |
float |
0.01 |
0.01-1.00 |
scale=(0.08, 1.0) |
ratio |
裁剪的原始纵横比范围 |
float |
0.01 |
0.10-10.00 |
ratio=(0.75, 1.0) |
interpolation |
插值算法 |
int |
1 |
0-4 |
interpolation=1 |
注: 插值算法应为以下之一(用0~4数字表示): cv2.INTER_NEAREST,cv2.INTER_LINEAR,cv2.INTER_CUBIC,cv2.INTER_AREA,cv2.INTER_LANCZOS4。默认值: cv2.INTER_LINEAR。
6. 随机裁剪缩放BBOX/random_sized_bbox_safe_crop 裁剪输入的随机部分,并在不丢失BBox的情况下将其重新缩放到某个大小。
参数名称 |
参数描述 |
参数类型 |
步长 |
参数范围 |
示例值 |
---|---|---|---|---|---|
width |
裁剪和调整大小后的宽度 |
int |
1 |
0-图像最大宽度 |
width=100 |
height |
裁剪和调整大小后的高度 |
int |
1 |
0-图像最大高度 |
height=100 |
erosion_rate |
侵蚀率 |
float |
0.01 |
0-0.50 |
erosion_rate=0 |
interpolation |
插值算法 |
int |
1 |
0-4 |
interpolation=1 |
注: erosion_rate用于控制裁剪后可能丢失原始边界框的面积,应用于裁剪前的输入图像高度。 插值算法应为以下之一(用0~4数字表示): cv2.INTER_NEAREST,cv2.INTER_LINEAR,cv2.INTER_CUBIC,cv2.INTER_AREA,cv2.INTER_LANCZOS4。默认值: cv2.INTER_LINEAR。