python批量读取文件夹的图片并处理成模型输入格式
我们知道在训练图像模型时,需要从文件夹里读取图片。
这里演示下,怎样从文件夹里批量读取图片,并处理成我们想要的
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批量读取文件夹的图片并处理成模型输入格式相关推荐
- python 批量读取文件夹的动漫美女图并显示
如果你觉得对你有用,请留下一个赞再走,谢谢!! 原始文件 代码 import os import matplotlib.pyplot as plt import matplotlib.image as ...
- Python批量转换文件夹下图片为PDF
前言 最近遇到需要批量把图片转换成pdf的需求,要求转换之后输出到对应的转化目录下,由于需要转换的图片文件非常多,这就萌生了想要写个小程序的想法. 实现思路: (1)先弹窗选择对应的文件夹路径 (2) ...
- python批量读取文件夹中的所有excel文件-python遍历文件夹下所有excel文件
大数据处理经常要用到一堆表格,然后需要把数据导入一个list中进行各种算法分析,简单讲一下自己的做法: 1.如何读取excel文件 网上的版本很多,在xlrd模块基础上,找到一些源码: import ...
- python批量读取文件里的图片_Python批量从文件夹中读取图片
导入必要的库 from PIL import Image import numpy as np 先导入一张图片 X_train = Image.open(r'.\faces\00b34e16b0270 ...
- python读取文件名存到list_批量读取文件夹中的文件名
问题:批量读取文件夹中的文件名 方法1 Windows批处理方法 在文件夹下新建一个txt文本文档,写入: DIR *.* /B >LIST.TXT 保存后修改文件名后缀为.bat,双击运行后, ...
- 批量修改文件夹下图片名称(Python)
本程序的功能是:批量修改文件夹下图片名称. import os import redef replcaeFileName(pic_path): # 修改pic_path路径下的文件名piclist = ...
- 在EXCEL中通过VBA实现批量读取文件夹内的文件名称
需求:有时候需要批量读取某个文件夹中的文件名称,有的程序只能读取同类型的,当文件为不同类型时就无法读取,因此需要写一个VBA程序,实现批量读取同一文件夹内的所有文件名称,且不需要修改程序就可以自由选择 ...
- python批量创建文件夹
python批量创建文件夹 觉得有用的话,欢迎一起讨论相互学习~ 参考资料 Python:os.path.join()产生的斜杠在Windows和Linux下的不同表现和解决方法 python获取指定 ...
- 快速批量修改文件夹中图片的格式
今天看到一个很不错的快速修改图片格式的方式,分享一下 快速批量修改文件夹中图片的格式 做图像处理的时候,需要将电脑文件夹中的图片格式批量修改,有一种不需要写代码的方法既可快速实现图片批量转换格式,具体 ...
最新文章
- 轻量级 memcached缓存代理 twemproxy实践
- java配置解决方法_如何配置Java环境变量及可能出现问题的解决方法
- 刚刚,阿里发布AI谣言粉碎机,识别准确率达81%
- Java防止Xss注入json_XSS的两种攻击方式及五种防御方式
- 基础功能2-python修改文件中所有文件名
- mysql 级联 binlog_MySQL binlog详解
- PHP超链接传数据库值格式,php – 使用超链接更新数据库
- 帮设计师打开思路的网站主页设计案例,给你出灵感
- FCC算法题--Validate US Telephone Numbers
- 大一java期末考笔试_JAVA考试试题及答案
- DICOM笔记-使用cmake编译DCMTK
- 小程序的通知授权功能
- npm install 停在下载某个包的地方不动
- nginx配置详解及设置代理服务器(1)
- 路由器NAT 类型检测实现
- 赢在项目工具的落地-讲师团俊平老师主讲
- NC6.5与UAP开发学习完整教程
- 2020-09-24
- PPT也能像PS一样抠图,你知道吗
- DBCO高分子PEG_DBCO-PEG-Lipoic COOH_二苯并环辛炔-聚乙二醇-硫辛酸
热门文章
- 定义快捷代码_Qt Creator快捷键
- Java实现单链表的合并(保证数据的有序性)
- 双重检查锁模式导致空指针
- RabbitMQ——自动退出的解决方案
- Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
- Android复习06【网络编程提高篇-安装GsonFormat、HttpUrlConnection封装、线程池、GsonFormat解析Json、自动加载下一页、自定义组件、页头页尾刷新、侧滑删除】
- 详解Framework
- zip伪加密做法及原理
- java 动态代理深度学习(Proxy,InvocationHandler)
- Hadoop分布式环境下的数据抽样