OpenCV轻松入门(九)——使用第三方库imgaug自定义数据增强器

安装命令:pip install imgaug

代码实现:

import cv2
import random
import matplotlib.pyplot as plt

from imgaug import augmenters as iaa
# 数据增强——缩放效果
def zoom_img(img):
    # 获取一个1-1.3倍的线性图像处理器,scale参数是缩放范围
    zoom = iaa.Affine(scale=(0.5, 1.3)) 
    # 将图片进行增强并返回
    return zoom.augment_image(img)

# 数据增强——平移效果
def trans_img(img):
    trans = iaa.Affine(translate_percent={"x":(-0.1,-0.1),"y":(-0.1,-0.1)})
    # 将图片进行增强并返回
    return trans.augment_image(img)

# 数据增强——亮度变化
def img_random_brightness(img):
    # 亮度增加1.1-1.5倍
    brightness = iaa.Multiply((1.1,1.5))
    # 将图片进行增强并返回
    return brightness.augment_image(img)
 
# 数据增强——镜像变化(按照业务需求,角度也要变化)
def img_flip(img,steering_angle):
    # 0-水平翻转,1-垂直翻转
    img = cv2.flip(img,1)
    steering_angle = -steering_angle
    return img,steering_angle
    
# 随机图片增强器   
def random_agument(img_path,steering_angle):
    index = random.randint(0,10)
    img = plt.imread(img_path)
    if index <=3:
        img = zoom_img(img)
    elif 3< index <6:
        img = trans_img(img)
    elif 6<=index<8:
        img = img_random_brightness(img)
    else:
        img,steering_angle = img_flip(img,steering_angle)
    return img,steering_angle

相关推荐

  1. 利用装饰模式使用

    2024-04-23 08:30:01       20 阅读
  2. 【Python--OpenCV】随笔

    2024-04-23 08:30:01       44 阅读
  3. 鸿蒙使用SO

    2024-04-23 08:30:01       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-23 08:30:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-23 08:30:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-23 08:30:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-23 08:30:01       20 阅读

热门阅读

  1. axios 实现上传、下载

    2024-04-23 08:30:01       13 阅读
  2. 一键展开或折叠树形表格

    2024-04-23 08:30:01       13 阅读
  3. 【设计模式】11、flyweight 享元模式

    2024-04-23 08:30:01       13 阅读
  4. 【Python-正则表达式】

    2024-04-23 08:30:01       11 阅读
  5. tomcat更换应用目录

    2024-04-23 08:30:01       17 阅读
  6. 浅谈架构方法之时间片轮询

    2024-04-23 08:30:01       11 阅读
  7. openGauss概述

    2024-04-23 08:30:01       17 阅读
  8. 【重学C语言】九、函数

    2024-04-23 08:30:01       17 阅读
  9. internet.getUserEncryptKey提示错误

    2024-04-23 08:30:01       13 阅读
  10. 从零开始:UniApp 项目搭建指南

    2024-04-23 08:30:01       16 阅读
  11. uniapp picker组件实现二级联动

    2024-04-23 08:30:01       16 阅读
  12. Linux搭建NFS服务器

    2024-04-23 08:30:01       14 阅读
  13. 特殊类的设计、C++四种类型转换

    2024-04-23 08:30:01       16 阅读