【OpenCV-Python】:图像批量翻转

✨博客主页:王乐予🎈
✨年轻人要:Living for the moment(活在当下)!💪
🏆推荐专栏:【图像处理】【千锤百炼Python】【深度学习】【排序算法

在做深度学习工作时,有时数据集数量不够,势必要进行数据增强,一些框架如tensorflow、keras、pytorch也提供了相应的API用于数据增强。

keras中的tf.keras.preprocessing.image.ImageDataGenerator使用实时数据增强生成批量张量图像数据。这里给出API整体:

tf.keras.preprocessing.image.ImageDataGenerator(
    featurewise_center=False,
    samplewise_center=False,
    featurewise_std_normalization=False,
    samplewise_std_normalization=False,
    zca_whitening=False,
    zca_epsilon=1e-06,
    rotation_range=0,
    width_shift_range=0.0,
    height_shift_range=0.0,
    brightness_range=None,
    shear_range=0.0,
    zoom_range=0.0,
    channel_shift_range=0.0,
    fill_mode="nearest",
    cval=0.0,
    horizontal_flip=False,
    vertical_flip=False,
    rescale=None,
    preprocessing_function=None,
    data_format=None,
    validation_split=0.0,
    dtype=None,
)

具体使用方法,请参考Keras官网 图像数据预处理

除了使用上面API外,我们也可以使用OpenCV中的函数cv2.flip进行处理。

语法结构:dst = cv2.flip(src, flipcode),其中src表示要处理的图像,flipCode表示旋转类型。

flipcode参数意义如下表:

参数值说明意义
0只能是0绕x轴翻转
正数1,2,3 等任意整数绕y轴翻转
负数-1,-2,-3 等任意负数绕x、y轴同时翻转

代码实现:

import cv2
import os
import numpy as np

def read_path(file_pathname):
    for filename in os.listdir(file_pathname):
        filename = filename
        print(filename)
        img = cv2.imread(file_pathname+'/'+filename)
        imageR1p0 = cv2.flip(img, 0)
        cv2.imwrite(r"C:\Users\Wxr\Desktop\2" + "/" + filename, imageR1p0)
read_path(r"C:\Users\Wxr\Desktop\1")

对flipcode参数更改后,得到的翻转图像如下图:

在这里插入图片描述

分别是:原图,绕x轴翻转,绕y轴翻转,绕x,y轴同时翻转。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王乐予

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值