keras中有很多封装好的API可以帮助我们实现对图片数据的读取和处理。

比如 : keras.preprocessing.image.ImageDataGenerator.flow_from_directory( ) 这个函数

这个函数的参数包括:

flow_from_directory(self, directory,target_size=(256, 256), color_mode='rgb',classes=None, class_mode='categorical',batch_size=32, shuffle=True, seed=None,save_to_dir=None,save_prefix='',save_format='jpeg',follow_links=False)

使用flow_from_directory最值得注意的是directory这个参数:

directory: path to the target directory. It should contain one subdirectory per class. Any PNG, JPG, BMP, PPM or TIF images inside each of the subdirectories directory tree will be included in the generator.

这是官方文档的定义,它的目录格式一定要注意是包含一个子目录下的所有图片这种格式,driectoty路径只要写到标签路径上面的那个路径即可。

target_size:可是实现对图片的尺寸转换,是预处理中比较常用的方法

save_to_dir: 可以设置保存处理后图片的路径。

save_prefix: 可以对处理后图片设置前缀。

举个例子:

这个路径结构,注意train路径

代码:

import matplotlib.pyplot as  plt
import glob
from PIL import Image
from keras.preprocessing import imagepath = 'train/'
gen_path = 'result/'def print_result(path):name_list = glob.glob(path)fig = plt.figure()for i in range(9):img = Image.open(name_list[i])# add_subplot(331) 参数一:子图总行数,参数二:子图总列数,参数三:子图位置sub_img = fig.add_subplot(331 + i)sub_img.imshow(img)plt.show()return fig# 打印图片列表
name_list = glob.glob(path + '*/*')
print(name_list)
# ['train\\00a366d4b4a9bbb6c8a63126697b7656.jpg', 'train\\00f34ac0a16ef43e6fd1de49a26081ce.jpg', 'train\\0a5f744c5077ad8f8d580081ba599ff5.jpg', 'train\\0a70f64352edfef4c82c22015f0e3a20.jpg', 'train\\0a783538d5f3aaf017b435ddf14cc5c2.jpg', 'train\\0a896d2b3af617df543787b571e439d8.jpg', 'train\\0abdda879bb143b19e3c480279541915.jpg', 'train\\0ac12f840df2b15d46622e244501a88c.jpg', 'train\\0b6c5bc46b7a0e29cddfa45b0b786d09.jpg']# 打印图片
fig = print_result(path + '*/*')# 保存图片
fig.savefig(gen_path + '/original_0.png', dpi=200, papertype='a5')# 原图
datagen = image.ImageDataGenerator()
gen_data = datagen.flow_from_directory(path, batch_size=1, shuffle=False, save_to_dir=gen_path ,save_prefix='dog_gen', target_size=(224, 224))
for i in range(9):gen_data.next()fig = print_result(gen_path + '/*')
fig.savefig(gen_path + '/original_1.png', dpi=200, papertype='a5')

这个例子还是比较好理解的。

利用keras中image.ImageDataGenerator.flow_from_directory()实现从文件夹中提取图片和进行简单归一化处理相关推荐

  1. python训练好的图片验证_利用keras加载训练好的.H5文件,并实现预测图片

    我就废话不多说了,直接上代码吧! import matplotlib matplotlib.use('Agg') import os from keras.models import load_mod ...

  2. 批量替换一个文件中的文件名,例如将文件夹中s**_abnormal.jpg文件修改为s**_abnor.jpg

    文章涉及到StringAbout::开头的函数具体实现参考:string与Cstring字符串类型转换和其他操作总结 CProcessFile::开头的函数实现参考:文件读写操作工具类CProcess ...

  3. python批量修改文件名为excel中指定名称_在Python脚本的帮助下,使用excelsh中的名称映射重命名文件夹中的文件名...

    在一个文件夹中有许多CSV文件我想重命名.有一个excel工作表,其中包含要重命名为文件夹的文件名.在 文件夹中的文件名为 测试数据?30四月.csv在 测试数据?20四月.csv在 测试数据18四月 ...

  4. c++ 按行读取txt文件并赋值_python操作txt文件中数据教程[3]python读取文件夹中所有txt文件并将数据转为csv文件...

    觉得有用的话,请点击右下角 推荐给更多小伙伴 neoken_xuAsurada2015Evacloud 参考文献 python 操作 txt 文件中数据教程[1]-使用 python 读写 txt 文 ...

  5. 用 shell 语言提取文件中的信息到另一个文件夹中

    查找具有特定后缀的文件 #!/bin/sh # find the pdb files at current files. for i in `ls ./*.pdb` doecho $i done 提取 ...

  6. spotify文件下载路径_从计算机的音乐文件夹中自动执行Spotify上的播放列表

    spotify文件下载路径 In modern society music streaming platforms are gaining a lot of popularity compared t ...

  7. mvfiles:一次性提取多个文件夹中的文件

      作者:吴玉轩 (南开大学) Stata 连享会: 知乎 | 简书 | 码云 | CSDN   Stata连享会 精品专题 || 精彩推文 2019暑期"实证研究方法与经典论文" ...

  8. MATLAB【八】———— matlab 读取单个(多个)文件夹中所有图像

    0.matlab 移动(复制)文件到另一个文件夹 sourcePath = '.\Square_train'; targetPath = '.\Square_test'; fileList = dir ...

  9. python找到文件夹下指定文件类型_python 读取指定文件夹中的指定文件类型的文件名...

    C# 读取指定文件夹中的全部文件,并按规则生成SQL语句! 本实例的目的在于: 1 了解怎样遍历指定文件夹中的全部文件 2 控制台怎样输入和输出数据 代码: using System; using S ...

最新文章

  1. sqlserver可将字符转成数字再进行sum,如果varchar类型中存放的都是数字
  2. 快速下载 | TBtools 软件最新版本与相关数据库文件
  3. 数据治理的理论实践与发展趋势
  4. 组态王图素制作_组态王的图形及动画功能
  5. 重温JSP学习笔记--El表达式
  6. 基于 Flink+Iceberg 构建企业级实时数据湖 | 附 PPT 下载
  7. layui多文件上传讲解_layui d多文件上传(示例代码)
  8. Git基础学习(黑马程序员笔记)
  9. 递归的效率问题以及递归与循环的比较
  10. Java经典编程习题100例,供初学者学习
  11. 可以测量50A以上电流的隔离集成式电流传感器CH704应用案例分享
  12. java生成条形码_Java使用jbarcode生成条形码
  13. html5获取经纬度页面,html5获取经纬度
  14. 计算机视觉技术学习路线(3D视觉)
  15. 爬取微信公众号发布的所有文章(包括阅读数,在看数,点赞数)
  16. transform三大属性之scale(缩放)
  17. API 开放接口设计之 appId,appSecret,accessToken (同微信开发平台接口)
  18. 数字电路设计资料目录内容
  19. php 下载 网站 文件,php中下载网站文件
  20. 用计算机控制的优点,什么是计算机控制系统?计算机控制系统较模拟系统有何优点...

热门文章

  1. o2o源码php,PHP源码:全平台本地O2O构建系统Niucms商业版本3.9.9,全新界面UI
  2. java实现字符压缩算法
  3. 海外权威媒体连续三年颁奖中国电视,这项新技术很关键
  4. Java Map的循环遍历
  5. 提高Stable Diffusion十倍计算速度以及解决内存崩溃问题
  6. Origin2021打开(0x000007b)错误
  7. 鲁鹏老师三维重建课程之单视图重建
  8. 全球地震数据下载方法
  9. php 2013,phpStudy 2013 下载 phpStudy2013
  10. 帮助中心 html页面,网页端直播