数据增强旋转

本文介绍了如何使用Python的random和numpy模块生成随机数,并展示了如何运用这些随机数来实现图像数据增强,通过旋转操作增强图像数据的多样性。代码示例中展示了针对不同概率执行90度、180度和270度旋转的数据增强策略,这对于训练深度学习模型时扩大训练集的覆盖范围具有重要意义。
摘要由CSDN通过智能技术生成

random 生成随机数

import random
import numpy as np
seed = 666
np.random.seed(seed)  # Numpy module.
random.seed(seed)  # Python random module.
for i in range(10):
   P = random.random()
   print(P)

数据增强旋转

def rotate_nobound(image, angle, center=None, scale=1.):
    (h, w) = image.shape[:2]
    # if the center is None, initialize it as the center of the image
    if center is None:
        center = (w // 2, h // 2)    # perform the rotation
    M = cv2.getRotationMatrix2D(center, angle, scale)
    rotated = cv2.warpAffine(image, M, (w, h))
    return rotated

数据增强应用

   p = random.random()
   if p <= 0.25:
        imgo_arr = rotate_nobound(imgo_arr, 90, center=None, scale=1.)  # 转为numpy 进行数据增强
        mask = rotate_nobound(mask, 90, center=None, scale=1.)  # 转为numpy 进行数据增强
    elif 0.25 < p and p<= 0.5:
        imgo_arr = rotate_nobound(imgo_arr, 180, center=None, scale=1.)  # 转为numpy 进行数据增强
        mask = rotate_nobound(mask, 180, center=None, scale=1.)  # 转为numpy 进行数据增强
    else: # 0.5 < p and p<= 0.75:
        imgo_arr = rotate_nobound(imgo_arr, 270, center=None, scale=1.)  # 转为numpy 进行数据增强
        mask = rotate_nobound(mask, 270, center=None, scale=1.)  # 转为numpy 进行数据增强
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值