图像数据增强

图像数据增强

图像数据增强是图片识别,物体检查等任务的常用方法。 常用的python工具有opencv以及pillow。
下面主要介绍pillow在图像数据增强方面的应用。

图像数据增强的常用方法有
  1. 图片缩放
  2. 图片旋转
  3. 图片翻转
  4. 亮度增强
  5. 对比度增强
  6. 色彩饱和度增强
  7. 锐度增强
  8. 图片提取-图片合成-目标遮挡
  9. 引入噪声
  • PIL导入模块,读取图片
# 引入包
from PIL import Image,ImageEnhance,ImageFilter
# 读取图片
img = Image.open(img_path)
  • 图片缩放
# 图片缩放
img_resized = img.resize((1024, 768))
  • 图片旋转
# 指定逆时针旋转的角度(°)
img_rotate = img.rotate(45) 
  • 图片翻转
#左右翻转
new_img1 = new_img1.transpose(Image.FLIP_LEFT_RIGHT)
#上下翻转
new_img2 = new_img2.transpose(Image.FLIP_TOP_BOTTOM)
  • 亮度增强
#亮度增强        
brightness_factor = float(np.random.randint(8, 16)) / 10.0
brightness_image = ImageEnhance.Brightness(img).enhance(brightness_factor)
  • 对比度增强
#增强对比度
contrast_factor = float(np.random.randint(8, 16)) / 10.0
contrast_image = ImageEnhance.Contrast(img).enhance(contrast_factor)
  • 色彩饱和度增强
#增强色彩饱和度
color_factor = float(np.random.randint(5, 15)) / 10.0
color_image = ImageEnhance.Color(img).enhance(color_factor)
  • 锐度增强
#增强锐度
sharp_factor = float(np.random.randint(8, 12)) / 10.0
sharp_image = ImageEnhance.Sharpness(img).enhance(sharp_factor)
  • 图片提取-图片合成-目标遮挡

图片提取

#图片提取
import cv2
img = cv2.imread(path)
_img = img[y0:y1,x0:x1]
cv2.imwrite(output_file,_img)

图片合成

_img = Image.open(_img_path)
img = Image.open(img_path)
box = [left,top,right,bottom]
region = _img.resize((box[2]-box[0],box[3]-box[1]))
img.paste(region,box)
img.save(output_path)

目标遮挡

利用纯色图片、随机生成的box及图片合成,遮盖主图片
  • 引入噪声
new_img = img.filter(ImageFilter.GaussianBlur())

参考资料

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值