python如何给图片数据集做数据扩充
时间: 2023-12-25 09:04:48 浏览: 114
data_pipeline_python_数据集扩充_
5星 · 资源好评率100%
在Python中,我们可以使用图像增强库如Pillow、OpenCV和Scikit-image等来对图像数据集进行数据扩充。以下是一个使用Pillow库来对图像进行数据扩充的示例代码:
```python
from PIL import Image, ImageEnhance, ImageOps
import os
# 定义原始图片路径和扩充后图片存储路径
original_path = 'original/'
augmented_path = 'augmented/'
# 定义图像增强函数
def augment_image(image):
# 随机旋转图像
angle = np.random.randint(-30, 30)
image = image.rotate(angle)
# 随机调整亮度
brightness_factor = np.random.uniform(0.5, 1.5)
enhancer = ImageEnhance.Brightness(image)
image = enhancer.enhance(brightness_factor)
# 随机水平翻转图像
if np.random.rand() < 0.5:
image = ImageOps.mirror(image)
return image
# 遍历原始图片路径下的所有图片
for filename in os.listdir(original_path):
# 打开原始图片
img = Image.open(original_path + filename)
# 生成5张扩充后的图片
for i in range(5):
# 对原始图片进行增强
augmented_img = augment_image(img)
# 保存扩充后的图片
augmented_img.save(augmented_path + 'augmented_' + str(i) + '_' + filename)
```
在上面的代码中,我们定义了一个`augment_image()`函数来对图像进行增强。具体来说,我们随机旋转图像、随机调整亮度、随机水平翻转图像等。然后,我们遍历了原始图片路径下的所有图片,并对每张图片生成了5张扩充后的图片,最后保存到了扩充后图片存储路径下。
阅读全文