深度学习中经常存在数据量不够的情况,所以需要对数据进行扩充,本文使用三种手段扩充数据,分别是图片的水平、垂直、水平垂直翻转。将图像扩充三倍。

import os
import cv2
import shutil
#水平,垂直,水平垂直翻转
def mirror(image,path_out_mirror):'''水平翻转'''h_flip= cv2.flip(image,1)cv2.imwrite(path_out_mirror,h_flip)
def vertical(image,path_out_vertical):'''垂直翻转'''h_flip=cv2.flip(image,0)cv2.imwrite(path_out_vertical,h_flip)
def mir_ver(image,path_out_mir_ver):'''水平垂直翻转'''h_flip=cv2.flip(image,-1)cv2.imwrite(path_out_mir_ver,h_flip)
def main():image_path='F:/data3'           #需要扩充的图片路径image_out_path = 'F:/data4'     #扩充后图片的存放路径        if not os.path.exists(image_out_path):os.makedirs(image_out_path)list=os.listdir(image_path)print(list)print('----------------------------')print('原始图像路径:'+image_path)print('\n')print('原始图像的个数:'+len(list))print('-----------------------------')imageNamelist=['_level.jpg',        #水平'_vertical.jpg',     #垂直'_lev_ver.jpg',      #水平垂直'.jpg']              #原图片           for i in range(0,len(list)):path = os.path.join(image_path, list[i])      #路径连接out_image_name=os.path.splitext(list[i])[0]   #文件名切割for j in range(0,len(imageNamelist)):path_out=os.path.join(image_out_path,out_image_name,imageNamelist[j])image = cv2.imread(path)if j==0:mirror(image, path_out)elif j==1:vertical(image, path_out)elif j==2:mir_ver(image, path_out)else:shutil.copy(path, path_out)print(out_image_name+'success',end='\t')print("----------------------------------------")print("The data augmention path:" + image_out_path)outlist = os.listdir(image_out_path)print("The data augmention sizes:" + str(len(outlist)))print("----------------------------------------")print("Rich sample for:" + str(len(outlist) - len(list)))
if __name__ == '__main__':main()

(python)深度学习 数据扩充 图片的水平、垂直以及水平垂直翻转相关推荐

  1. 深度学习: 数据扩充 (Data Augmentation)

    https://blog.csdn.net/JNingWei/article/details/79219838 Mixup Cutout CutMix Mosaic Data_Augmentation ...

  2. python有趣的程序-20个有趣的Python深度学习应用程序

    1.顶级Python深度学习应用程序 在这个使用Python的深度学习中,我们将看到使用Python进行深度学习的应用程序.在本文中,我们将讨论Python深度学习的20个主要应用程序.到目前为止,我 ...

  3. 基于Python的空气质量网络数据爬虫,构建面向深度学习数据预测的空气质量数据集

    目录 1.目标 2. 思路 3.算法 3.1 算法流程 3.2 开发环境 4 核心代码 4.1 Header伪装 4.2 get_html_soup函数 4.3 get_city_link_list函 ...

  4. Python深度学习-快速指南

    Python深度学习-快速指南 (Python Deep Learning - Quick Guide) Python深度学习-简介 (Python Deep Learning - Introduct ...

  5. 《Python 深度学习》刷书笔记 Chapter 5 Part-4 卷积神经网络的可视化(Fillter)

    文章目录 可视化卷积神经网络 2-25 读入模组 5-26 观察图像 观察卷积层特征提取 5-27 建立多输出模型观察输出 5-28 显示图像 5-29 打印全部的识别图 5-32 为过滤器的可视化定 ...

  6. Python深度学习(4):猫狗分类

    这个项目使用卷积神经网络,<Python深度学习>中使用了两个方法实现.一个是自己搭建卷积网络,另一个是直接使用VGG16.其中直接使用VGG16又可以分为抽取特征和微调模型两种方法. 1 ...

  7. Python 深度学习架构实用指南:第一、二部分

    原文:Hands-On Deep Learning Architectures with Python 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集] ...

  8. Python 深度学习

    Pytorch 一 .深度学习概览 1.工具篇 2.流程介绍 3.基础知识(常用操作) 1.数据结构类型 4.常见名词概念 二.深度学习Pytorch 1.神经网络 1.1 如何构建神经网络 1.2 ...

  9. 粗读《Python 深度学习》(4)

    粗读<Python 深度学习>(4) 第五章 深度学习用于计算机视觉 5.1 卷积神经网络简介 5.1.1 卷积运算 5.1.2 最大池化运算 5.2 在小型数据集上从头开始训练一个卷积神 ...

最新文章

  1. SQL Sever 子查询与嵌套查询
  2. python中df去重_Python中DataFrame去重
  3. WinCE6.0的极速启动
  4. 删除U盘作为启动盘的隐藏启动分区
  5. SpringCloud Netflix Hystrix
  6. 服务器母鸡系统,母鸡云服务器
  7. 第八期:实操:两台路由器,如何分别通过WAN和LAN口连接?
  8. 这些学霸的作息表“曝光”,太震撼了,快来找差距!
  9. PHP基本语法(实例)
  10. .Net/C# 实现真正的只读的 Hashtable 类型的属性 (ReadOnly Hashtable Property)
  11. jQuery 3 有哪些新东西
  12. 黑马程序员 oc中的类与对象
  13. linux生成可执行文件的过程
  14. vue循环阿里巴巴矢量图标
  15. UML图绘制(三)-----用例图的画法
  16. 联想微型计算机改win7,[系统帮助]lenovo联想WIN8改WIN7详细图文全教程
  17. Python向已有数据的Excel表写入数据
  18. 线性代数:求n阶行列式python编写
  19. 迭代数据流分析中的逆后序(Reverse Postorder)
  20. 神经网络基础原理(三)-----分类问题实弹演练及一些小干货

热门文章

  1. 上计算机课玩游戏检讨400字,上课玩三国杀检讨400字
  2. 用户、角色、权限模块
  3. DC(域控)的安装与配置
  4. 量子理论中精典电子干涉实验本质推敲
  5. 【解决方案】智慧零售:一站式视频上云/安防监控/AI智能分析解决方案
  6. SCHNOKA施努卡:扁线电机定子生产线 扁线电机定子生产设备
  7. python修改mac地址_linux手动、自动更改网卡MAC地址的方法
  8. 第 1 节 JavaScript简介、JS的HelloWorld、JS编写位置
  9. 操作系统--3.操作系统分类
  10. 孙溟㠭20余载春秋,4000多方印章,这双质朴的手有多么倔强的生命力