python图像数据增广
时间: 2023-07-14 21:13:46 浏览: 84
Python中有很多图像数据增广库,比较常用的有:
1. albumentations:适用于图像分类、目标检测和语义分割等任务,支持各种类型的图像增广方法,速度快,使用方便。
2. imgaug:适用于图像分类、目标检测和语义分割等任务,支持多种类型的图像增广方法,可同时进行多个增广操作,使用方便。
3. Keras ImageDataGenerator:适用于图像分类任务,内置多种类型的图像增广方法,易于使用。
4. Augmentor:适用于图像分类、目标检测和语义分割等任务,支持多种类型的图像增广方法,可以自定义增广方法。
下面是一个使用imgaug库进行图像数据增广的例子:
```python
import imgaug.augmenters as iaa
import cv2
# 读取图像
image = cv2.imread('image.jpg')
# 定义增广方法
seq = iaa.Sequential([
iaa.Fliplr(0.5), # 水平翻转
iaa.Crop(percent=(0, 0.1)), # 裁剪
iaa.GaussianBlur(sigma=(0, 3.0)) # 高斯模糊
])
# 对图像进行增广
image_aug = seq.augment_image(image)
# 显示增广前后的图像
cv2.imshow('Original image', image)
cv2.imshow('Augmented image', image_aug)
cv2.waitKey(0)
```
在上面的例子中,我们使用了imgaug库中的Sequential方法来定义了一个增广序列,其中包含了三个增广方法:水平翻转、裁剪和高斯模糊。然后,我们调用augment_image方法对图像进行增广。最后,我们使用cv2.imshow方法显示增广前后的图像。