背景:在深度学习时候,通常需要批量处理大量的图片,一般几千张,图像不够时还需要进行数据增强,因此需要批量处理图像数据。

【1】批量加载文件夹里面的数据


import os
import  cv2#批量处理图像,改名,
def read__image(open_path,save_path):# os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表for dir_image in os.listdir(open_path):#打开当前运行脚本的绝对路,就是真个文件里面所有文件的路径full_path = os.path.abspath(os.path.join(open_path,dir_image))#选择后缀为.jpg格式的文件num=0if dir_image.endswith('.jpg'):image = cv2.imread(full_path)#分离文件路径和文件名(filepath, filename) = os.path.split(full_path)#分离文件名和后缀 去掉后坠取文件名。就是去掉.jpg,只要前面的图片名nameall = os.path.splitext(filename)[0]'''如果需要进一步分割图片名,可以用,name=str(nameall).splite('-')[2:5]进行切分字符串'''#图像批量处理后保存agutationimg=DateArgutation(image)for index in range(len(agutationimg)):image_path = save_path+'%s_%s.jpg' % (nameall,str(index))  # 注意这里图片名一定要加上扩展名,否则后面imwrite的时候会报错cv2.imwrite(image_path,agutationimg[index])#直接改名保存#num+=1#image_path = save_path+'%s_%s.jpg' % (nameall,str(num))  # 注意这里图片名一定要加上扩展名,否则后面imwrite的时候会报错#cv2.imwrite(image_path,agutationimg[index])

【2】图像数据增强


#输入一张图片,产生旋转,缩放,长宽调整等形式
def DateArgutation(images):img=imagesagutationimg=[]imgInfo=img.shapeheight=imgInfo[0]width=imgInfo[1]#图像翻转0   90    270flipped1 = cv2.flip(img, -1)agutationimg.append(flipped1)flipped2 = cv2.flip(img, 1)agutationimg.append(flipped2)flipped3 = cv2.flip(img, 0)agutationimg.append(flipped3)#等比例缩放height1=int(height*0.8)width1=int(width*0.8)resImg1=cv2.resize(img,(width1,height1))agutationimg.append(resImg1)height2=int(height*3)width2=int(width*3)resImg2=cv2.resize(img,(width2,height2))agutationimg.append(resImg2)print('success!')return  agutationimg

【3】批量读入数据放置在列表中

#载入图片,处理后保存到一个列表中
def GetImg(open_path):patch=[]for dir_image in os.listdir(open_path): # os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表full_path = os.path.abspath(os.path.join(open_path,dir_image))if dir_image.endswith('.jpg'):image = cv2.imread(full_path)resImg=cv2.resize(image,(227,227))patch.append(resImg)return  patch

【9】tensorflow下图像预处理之图像批量处理相关推荐

  1. 发票二维码扫描增强_03_图像预处理_01_图像切片

    预处理内容介绍 我们在真正的对二维码图形进行分割解码之前,需要将图形转换成我们需求的形态: 1.只关注二维码部分 2.排除掉其他颜色的干扰信息 3.图片转换成完整的正方形 二维码切分 从纸质发票的实际 ...

  2. [Python图像识别] 四十六.图像预处理之图像去雾详解(ACE算法和暗通道先验去雾算法)

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  3. 指针式仪表自动读数与识别(二):仪表图像预处理

    一.仪表图像预处理 1.预处理操作 在做任何图像处理相关操作之前都要先进行预处理.预处理操作包括: (1) 缩放和变换 缩放操作的主要目的是减小图像大小,减少计算量,缩放操作不是必须的,但是如果系统对 ...

  4. Cuda编程加速图像预处理

    文章目录 项目简介 加速效果 Cuda代码 Git地址 项目简介 基于 cuda 和 opencv 环境 目标: 单独使用,以加速图像处理操作: 结合 TensorRT 使用,进一步加快推理速度 加速 ...

  5. kaggle aptos2019 的图像预处理

    kaggle aptos2019 的图像预处理 kaggle aptos2019 的图像预处理 图像预处理 1. 基于眼球的resize: scaleRadius() 2. 特征增强 3. 去除眼球周 ...

  6. python读取文件夹下所有图像 预处理_Tensorflow之tif图像文件预处理

    写在前面 许久没有登录我的简书了,或许忙只是给自己的借口,内心浮躁,不愿坐下来静下心写点东西才是真正的原因.写作是个该坚持的好习惯,一方面能记录下一些当时的心情想法,一方面也是在锻炼自己的表达能力.善 ...

  7. Tensorflow数据预处理之tf.data.TFRecordDataset---TFRecords详解\TFRecords图像预处理

    目录 1.概述 2.预处理数据 2.1.常量定义 2.2.导入库 2.3.从train.txt文件中读取图片-标签对 2.4.预处理图片并保存 2.5.调用main函数 3.读取预处理后的数据 3.1 ...

  8. 『TensorFlow』第九弹_图像预处理_不爱红妆爱武装

    部分代码单独测试: 这里实践了图像大小调整的代码,值得注意的是格式问题: 输入输出图像时一定要使用uint8编码, 但是数据处理过程中TF会自动把编码方式调整为float32,所以输入时没问题,输出时 ...

  9. 机器学习Tensorflow基本操作:线程队列图像

    一.线程和队列 在使用TensorFlow进行异步计算时,队列是一种强大的机制. 为了感受一下队列,让我们来看一个简单的例子.我们先创建一个"先入先出"的队列(FIFOQueue) ...

最新文章

  1. 不会被计算机打败的棋类游戏,电脑首次打败人类围棋冠军意味着什么?
  2. 学习笔记(三)——CSS进阶
  3. 全球及中国家用空气净化器市场销售需求及营销策略模式分析报告2022-2027年
  4. fatal error: GL/glew.h: 没有那个文件或目录
  5. 上传github代码
  6. mysql 吧库下的表名都加_MySQL 数据库名、表名、字段名大小写敏感记录
  7. 售价超16万,全球仅限8台!iPhone 13 Pro冬奥会定制版上架,18K黄金打造
  8. 为什么Mate40Pro没有OIS光学防抖?
  9. 我的云之旅--hadoop单机设置(2)
  10. 2018-08-06
  11. 利用jquery实现数字千分位排版显示,使用0动态补全8位数
  12. 前端学HTTP之网络基础
  13. C 语言面试题大汇总
  14. 超细!在浏览器输入xxxhub 回车之后发生了什么?
  15. 饥荒插件制作应注意的几个问题
  16. 桌面只计算机图标发白,win7系统桌面图标变白怎么回事_电脑桌面图标有小白块...
  17. 《计算机网络(第七版)-谢希仁》重点知识 - 数据链路层
  18. 记录:谷歌地图google map api实现基本测距功能
  19. 壹佰利—通联信用作为吉林省首家获得人民银行颁发的企业征信备案牌照,开始为全省人民服务!
  20. Android 自定义各种进度条,Android自定义百分数进度条

热门文章

  1. airflow依赖上游设置
  2. 体育专业国培计算机感言,国培计划体育学习心得体会
  3. MySql——MySqlDataAdapter批量更新
  4. “扫码阅读”功能的实现
  5. stm32串口助手配置步骤
  6. 安卓开发 中文教程(14):新手福音——动作栏(Action Bar)
  7. 谁有jacob调用btw文件的例子
  8. Windows 10下麦克风无法使用的情况
  9. 实验四、嵌入式Linux串行通信实验
  10. 卷积神经网络 图像识别,卷积神经网络图像处理