flip_direction
参数可以取以下三个值:
0
:垂直翻转(沿x轴翻转)1
:水平翻转(沿y轴翻转)-1
:同时在水平和垂直方向翻转
# 随机翻转
flip_direction = np.random.randint(-1, 2) # 随机选择水平、垂直或不翻转
flipped_image = cv2.flip(image, flip_direction)
2.随机裁剪
随机裁剪可以根据设定randint来随机生成裁剪的起始坐标,image.shape[1]
表示图像的宽度,image.shape[0]
表示图像的高度。
通过以下代码:
# 随机裁剪
crop_x = np.random.randint(0, image.shape[1] - 100)
crop_y = np.random.randint(0, image.shape[0] - 100)
cropped_image = image[crop_y:crop_y+100, crop_x:crop_x+100]
np.random.randint(0, image.shape[1] - 100)
会在图像的宽度范围内随机生成一个起始点横坐标,保证裁剪后剩余的宽度至少为 100 像素。同理,np.random.randint(0, image.shape[0] - 100)
会在图像的高度范围内随机生成一个起始点纵坐标,保证裁剪后剩余的高度至少为 100 像素。
image[crop_y:crop_y+100, crop_x:crop_x+100]
表示在图像上从 crop_y
到 crop_y+100
行,从 crop_x
到 crop_x+100
列的区域,即裁剪了一个 100x100 大小的区域。