我们知道在训练图像模型时,需要从文件夹里读取图片。
这里演示下,怎样从文件夹里批量读取图片,并处理成我们想要的
x,y 即特征和标签。

输入维度理解

以卷积神经网络为例子。

我们知道卷积神经网络conv2d输入数据的形状为(batch_size,height,width,depth),其中第一维表示图像的batch大小,我们常设定为None,其他三个维表示图像的各个属性,即高度,宽度和深度。深度就是色彩通道的数量。例如,RGB图像的深度为3,而灰度图像的深度为1。
通俗理解。一张图片。我们输入的格式为(高,宽,通道)
即我们需要把图片处理成相同的高宽。

以下面这个文件夹为例,图片大小不一样,有的12kB,有的不是,高宽肯定不一样。

#python+opencv读取文件图片并处理

import os
import numpy as np
import cv2cat=[]#用于存储x。
def ReFileName(dirPath):""":param dirPath: 文件夹路径:return:"""# 对目录下的文件进行遍历for file in os.listdir(dirPath):# 判断是否是文件if os.path.isfile(os.path.join(dirPath, file)) == True:c= os.path.basename(file)name = dirPath + '\\' + cimg = cv2.imread(name)img=cv2.resize(img,(100,100))#使尺寸大小一样cat.append(img)dirPath = r"C:\Users\Shineion\Desktop\cat"#文件路径
ReFileName(dirPath)#调用函数
cat=np.array(cat)#数据
print('输入x.shape',cat.shape)
biaoqian=[1 for i in range(len(cat))]#标签处理
biaoqian=np.array(biaoqian)#标签
print('输入y.shape',biaoqian.shape)

得到的是我们想要的x,y格式

.说明
注意:cv2.imread(name) 读取的图片绝对路径name ,不能含有中文。中文报错。

1.代码里只读取啦一种类别的图片:猫,并将猫的标签设置为数字1。
一般我们会将不同类别的图片放在不同文件夹。读取另外类型图片就是重复上述步骤,并修改标签数字。
2.如果是多种类型图片放在同一个文件夹里,可以根据文件名来来选择图片,并存储到不同数组(如代码中的cat)。选择文件名一般是根据正则。

正则链接:
python :re模块基本用法
可能有帮助的链接:
python 批量修改图片名(也可以用来批量修改文件名)

3.代码里只读取图片,并未对图片进行任何处理。如识别猫狗,肯定要消除背景 和颜色影响的。opencv里有很多方法,参考python3+opencv学习笔记汇总目录(适合基础入门学习)。
处理代码直接加在 img=cv2.resize(img,(100,100))#使尺寸大小一样 后面就可以。
不同任务处理方法不一样。

4.其他类型的输入数据格式。不一定都是(batch_size,height,width,depth)。
如一维输入
自己最后改变数据维度就可以。

电气专业的计算机小白,写博文不容易。如果你觉得本文对你有用,请点个赞支持下。谢谢。

python批量读取文件夹的图片并处理成模型输入格式相关推荐

  1. python 批量读取文件夹的动漫美女图并显示

    如果你觉得对你有用,请留下一个赞再走,谢谢!! 原始文件 代码 import os import matplotlib.pyplot as plt import matplotlib.image as ...

  2. Python批量转换文件夹下图片为PDF

    前言 最近遇到需要批量把图片转换成pdf的需求,要求转换之后输出到对应的转化目录下,由于需要转换的图片文件非常多,这就萌生了想要写个小程序的想法. 实现思路: (1)先弹窗选择对应的文件夹路径 (2) ...

  3. python批量读取文件夹中的所有excel文件-python遍历文件夹下所有excel文件

    大数据处理经常要用到一堆表格,然后需要把数据导入一个list中进行各种算法分析,简单讲一下自己的做法: 1.如何读取excel文件 网上的版本很多,在xlrd模块基础上,找到一些源码: import ...

  4. python批量读取文件里的图片_Python批量从文件夹中读取图片

    导入必要的库 from PIL import Image import numpy as np 先导入一张图片 X_train = Image.open(r'.\faces\00b34e16b0270 ...

  5. python读取文件名存到list_批量读取文件夹中的文件名

    问题:批量读取文件夹中的文件名 方法1 Windows批处理方法 在文件夹下新建一个txt文本文档,写入: DIR *.* /B >LIST.TXT 保存后修改文件名后缀为.bat,双击运行后, ...

  6. 批量修改文件夹下图片名称(Python)

    本程序的功能是:批量修改文件夹下图片名称. import os import redef replcaeFileName(pic_path): # 修改pic_path路径下的文件名piclist = ...

  7. 在EXCEL中通过VBA实现批量读取文件夹内的文件名称

    需求:有时候需要批量读取某个文件夹中的文件名称,有的程序只能读取同类型的,当文件为不同类型时就无法读取,因此需要写一个VBA程序,实现批量读取同一文件夹内的所有文件名称,且不需要修改程序就可以自由选择 ...

  8. python批量创建文件夹

    python批量创建文件夹 觉得有用的话,欢迎一起讨论相互学习~ 参考资料 Python:os.path.join()产生的斜杠在Windows和Linux下的不同表现和解决方法 python获取指定 ...

  9. 快速批量修改文件夹中图片的格式

    今天看到一个很不错的快速修改图片格式的方式,分享一下 快速批量修改文件夹中图片的格式 做图像处理的时候,需要将电脑文件夹中的图片格式批量修改,有一种不需要写代码的方法既可快速实现图片批量转换格式,具体 ...

最新文章

  1. 轻量级 memcached缓存代理 twemproxy实践
  2. java配置解决方法_如何配置Java环境变量及可能出现问题的解决方法
  3. 刚刚,阿里发布AI谣言粉碎机,识别准确率达81%
  4. Java防止Xss注入json_XSS的两种攻击方式及五种防御方式
  5. 基础功能2-python修改文件中所有文件名
  6. mysql 级联 binlog_MySQL binlog详解
  7. PHP超链接传数据库值格式,php – 使用超链接更新数据库
  8. 帮设计师打开思路的网站主页设计案例,给你出灵感
  9. FCC算法题--Validate US Telephone Numbers
  10. 大一java期末考笔试_JAVA考试试题及答案
  11. DICOM笔记-使用cmake编译DCMTK
  12. 小程序的通知授权功能
  13. npm install 停在下载某个包的地方不动
  14. nginx配置详解及设置代理服务器(1)
  15. 路由器NAT 类型检测实现
  16. 赢在项目工具的落地-讲师团俊平老师主讲
  17. NC6.5与UAP开发学习完整教程
  18. 2020-09-24
  19. PPT也能像PS一样抠图,你知道吗
  20. DBCO高分子PEG_DBCO-PEG-Lipoic COOH_二苯并环辛炔-聚乙二醇-硫辛酸

热门文章

  1. 定义快捷代码_Qt Creator快捷键
  2. Java实现单链表的合并(保证数据的有序性)
  3. 双重检查锁模式导致空指针
  4. RabbitMQ——自动退出的解决方案
  5. Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
  6. Android复习06【网络编程提高篇-安装GsonFormat、HttpUrlConnection封装、线程池、GsonFormat解析Json、自动加载下一页、自定义组件、页头页尾刷新、侧滑删除】
  7. 详解Framework
  8. zip伪加密做法及原理
  9. java 动态代理深度学习(Proxy,InvocationHandler)
  10. Hadoop分布式环境下的数据抽样