- 通过随机擦除、混合图像等来增强图像数据。
---
Imgaug
Imgaug 是一个开源 python 包,可让您在机器学习实验中增强图像。它适用于各种增强技术。它有一个简单而强大的界面,可以增强图像、地标、边界框、热图和分割图。
让我们首先使用来自PyPI的 pip 安装这个库:
pip install imgaug
接下来,我们将使用 pip 命令在命令提示符下安装名为“IPyPlot”的 python 包:
pip install ipyplot
IPyPlot 是一个 Python 工具,允许在 Python Notebook 单元格中快速高效地显示图像。这个包将 IPython 与 HTML 相结合,以提供一种更快、更丰富、更具交互性的方式来显示图像。这个包的 ‘plot_images’ 命令将用于以网格状结构绘制所有图像。
此外,我们将导入扩充数据所需的所有必要包:
import imageioimport imgaug as iaimport imgaug.augmenters as iaa
增强的图像路径在此处定义。我们将使用鸟类图像作为示例。
input_img = imageio.imread('../input/image-bird/bird.jpg')
图像翻转
我们可以使用下面显示的命令水平和垂直翻转图像。以下代码中的“Fliplr”关键字水平翻转图像。同样,关键字“Flipud”垂直翻转图像。
#水平翻转hflip= iaa.Fliplr(p=1.0) input_hf= hflip.augment_image(input_img)
#垂直翻转vflip= iaa.Flipud(p=1.0) input_vf= vflip.augment_image(input_img) images_list=[input_img, input_hf, input_vf] labels = ['Original', 'Horizontally flipped', 'Vertically flipped']ipyplot.plot_images (images_list,labels=labels,img_width=180)
每个图像被翻转的概率由 p 表示。默认情况下,概率设置为 0.0。要水平翻转输入图像,请使用 Fliplr(1.0) 而不仅仅是 Fliplr()。同样,当垂直翻转图像时,使用 Flipud(1.0) 而不仅仅是 Flipud()。
图像旋转
通过以度为单位定义旋转,我们可以旋转图像。
rot1 = iaa.Affine(rotate=(-50,20)) input_rot1 = rot1.augment_image(input_img) images_list=[input_img, input_rot1] labels = [