机器视觉数据集扩充代码
时间: 2024-09-12 13:14:04 浏览: 34
机器视觉数据集扩充(Data Augmentation for Computer Vision)是指通过一系列图像处理技术,如旋转、裁剪、缩放、翻转、色彩变换等,对原始数据进行操作,生成新的训练样本,以提高模型的泛化能力和对输入变化的适应性。这有助于减少过拟合,并增加模型在实际应用中的鲁棒性。
在Python中,常用的库来进行图像数据集扩充的是`imgaug`和` Albumentations`。例如,使用`imgaug`可以这样编写代码:
```python
import imgaug as ia
from imgaug import augmenters as iaa
# 创建一个增强器序列
seq = iaa.Sequential([
iaa.Fliplr(0.5), # 水平翻转
iaa.Affine(scale=(0.8, 1.2)), # 放大或缩小
iaa.CropToFixedSize(width=32, height=32) # 裁剪到固定尺寸
])
# 对每个图像应用增强
for image in images:
augmented_images.append(seq.augment_image(image))
```
而`Albumentations`则提供更多的高级功能和配置选项:
```python
import albumentations as A
data_augmentor = A.Compose([
A.RandomHorizontalFlip(p=0.5),
A.RandomRotation(degrees=(-10, 10)),
A.Resize(height=32, width=32)
], p=1.0)
images_augmented = data_augmentor(image=np.array(images), ...)
```
阅读全文