(python)深度学习 数据扩充 图片的水平、垂直以及水平垂直翻转
深度学习中经常存在数据量不够的情况,所以需要对数据进行扩充,本文使用三种手段扩充数据,分别是图片的水平、垂直、水平垂直翻转。将图像扩充三倍。
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)深度学习 数据扩充 图片的水平、垂直以及水平垂直翻转相关推荐
- 深度学习: 数据扩充 (Data Augmentation)
https://blog.csdn.net/JNingWei/article/details/79219838 Mixup Cutout CutMix Mosaic Data_Augmentation ...
- python有趣的程序-20个有趣的Python深度学习应用程序
1.顶级Python深度学习应用程序 在这个使用Python的深度学习中,我们将看到使用Python进行深度学习的应用程序.在本文中,我们将讨论Python深度学习的20个主要应用程序.到目前为止,我 ...
- 基于Python的空气质量网络数据爬虫,构建面向深度学习数据预测的空气质量数据集
目录 1.目标 2. 思路 3.算法 3.1 算法流程 3.2 开发环境 4 核心代码 4.1 Header伪装 4.2 get_html_soup函数 4.3 get_city_link_list函 ...
- Python深度学习-快速指南
Python深度学习-快速指南 (Python Deep Learning - Quick Guide) Python深度学习-简介 (Python Deep Learning - Introduct ...
- 《Python 深度学习》刷书笔记 Chapter 5 Part-4 卷积神经网络的可视化(Fillter)
文章目录 可视化卷积神经网络 2-25 读入模组 5-26 观察图像 观察卷积层特征提取 5-27 建立多输出模型观察输出 5-28 显示图像 5-29 打印全部的识别图 5-32 为过滤器的可视化定 ...
- Python深度学习(4):猫狗分类
这个项目使用卷积神经网络,<Python深度学习>中使用了两个方法实现.一个是自己搭建卷积网络,另一个是直接使用VGG16.其中直接使用VGG16又可以分为抽取特征和微调模型两种方法. 1 ...
- Python 深度学习架构实用指南:第一、二部分
原文:Hands-On Deep Learning Architectures with Python 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集] ...
- Python 深度学习
Pytorch 一 .深度学习概览 1.工具篇 2.流程介绍 3.基础知识(常用操作) 1.数据结构类型 4.常见名词概念 二.深度学习Pytorch 1.神经网络 1.1 如何构建神经网络 1.2 ...
- 粗读《Python 深度学习》(4)
粗读<Python 深度学习>(4) 第五章 深度学习用于计算机视觉 5.1 卷积神经网络简介 5.1.1 卷积运算 5.1.2 最大池化运算 5.2 在小型数据集上从头开始训练一个卷积神 ...
最新文章
- SQL Sever 子查询与嵌套查询
- python中df去重_Python中DataFrame去重
- WinCE6.0的极速启动
- 删除U盘作为启动盘的隐藏启动分区
- SpringCloud Netflix Hystrix
- 服务器母鸡系统,母鸡云服务器
- 第八期:实操:两台路由器,如何分别通过WAN和LAN口连接?
- 这些学霸的作息表“曝光”,太震撼了,快来找差距!
- PHP基本语法(实例)
- .Net/C# 实现真正的只读的 Hashtable 类型的属性 (ReadOnly Hashtable Property)
- jQuery 3 有哪些新东西
- 黑马程序员 oc中的类与对象
- linux生成可执行文件的过程
- vue循环阿里巴巴矢量图标
- UML图绘制(三)-----用例图的画法
- 联想微型计算机改win7,[系统帮助]lenovo联想WIN8改WIN7详细图文全教程
- Python向已有数据的Excel表写入数据
- 线性代数:求n阶行列式python编写
- 迭代数据流分析中的逆后序(Reverse Postorder)
- 神经网络基础原理(三)-----分类问题实弹演练及一些小干货
热门文章
- 上计算机课玩游戏检讨400字,上课玩三国杀检讨400字
- 用户、角色、权限模块
- DC(域控)的安装与配置
- 量子理论中精典电子干涉实验本质推敲
- 【解决方案】智慧零售:一站式视频上云/安防监控/AI智能分析解决方案
- SCHNOKA施努卡:扁线电机定子生产线 扁线电机定子生产设备
- python修改mac地址_linux手动、自动更改网卡MAC地址的方法
- 第 1 节 JavaScript简介、JS的HelloWorld、JS编写位置
- 操作系统--3.操作系统分类
- 孙溟㠭20余载春秋,4000多方印章,这双质朴的手有多么倔强的生命力