多张图片转成一个.npy文件存储

简介: 多张图片转成一个.npy文件存储

我最近做的实验需要把都是图片的数据集转成numpy形式存储,然后放入模型训练。

首先要有一个.csv文件,这个文件存放了训练集中所有图片的名字和所属类别,共两列,这个文件在下载某些数据集的时候会自带或者有处理好的让你下载,但也可以自己生成,可以看这里(要点三)

import pandas as pd
import cv2
import numpy as np
#读取存有图片名和对应类别名的.csv文件
train = pd.read_csv('train_new.csv')
#print(train)
#创建一个空的列表,后面用来存放训练集中的每张图片
train_image = []
'''
csv文件总共两列,一列图片名,一列对应类别名,这里就是遍历图片名,总共2408张
'''
for i in range(train.shape[0]):#2408
    #加载图像,这里进入文件夹下,遍历csv文件中列名为'image'的列,即图片名,进而读取图片
    img_cv2 = cv2.imread('train_1_50/'+train['image'][i])
    #将目标大小设置为(224,224,3)
    image  = cv2.resize(img_cv2,(224,224),interpolation=cv2.INTER_AREA)
    #像素值归一化
    img = image / 255
    #把图像加入train_image列表
    train_image.append(img)
# 将列表转为numpy数组
X = np.array(train_image)#train_image中有2408张图片,都是numpy格式
# 查看数组的大小
print(X.shape)
# 查看数组
print(X)

参考博文里大佬加载图像和设置图片大小是一行代码完成的,但用image.load_img读取的只是图片,然后再转成numpy形式,而cv2.imread可以一步完成。(我为什么要换呢,因为大佬的方式在我这里一直报错,我解决不了,私信大佬也不理我,555.。。)

# 加载图像,并将目标大小设置为(224,224,3)
img = image.load_img('train_1/'+train['image'][i], target_size=(224,224,3))
# 将其转换为数组
img = image.img_to_array(img)

看下效果:

1ecd1b2606ed46e9956a89f231c9802c.png

这里好多0是因为我的图片都是从视频中提取出来的,提取的有些图片正好上一帧下一帧的切换,故是黑色的,没有值,再加上数组显示不完全。

1ecd1b2606ed46e9956a89f231c9802c.png

查看列表,就全部显示出来了。。。

参考博文

相关文章
|
文件存储 Android开发 数据安全/隐私保护
Android图片添加水印图片并把图片保存到文件存储
Android图片添加水印图片并把图片保存到文件存储 package zhangphil.test; import android.
1506 0
|
存储 运维 监控
阿里云的文件存储NAS使用心得
阿里云的文件存储NAS使用心得
391 0
|
存储 弹性计算 固态存储
阿里云服务器1TB存储收费标准(数据盘/对象存储OSS/文件存储NAS)
阿里云服务器1TB存储多少钱?系统盘最大可选到500GB,数据盘选到1TB价格为3655元一年。也可以选择对象存储OSS和文件存储NAS
6388 2
阿里云服务器1TB存储收费标准(数据盘/对象存储OSS/文件存储NAS)
|
存储 弹性计算 人工智能
阿里云文件存储NAS通用型、极速型和文件存储CPFS有什么区别?
阿里云文件存储NAS极速型NAS低时延,适合企业级时延敏感型核心业务;文件存储CPFS拥有高吞吐和高IOPS,适合高性能计算业务;通用型NAS大容量、高性价比、弹性扩展,支持低频介质,适合通用类文件共享业务。
1811 0
阿里云文件存储NAS通用型、极速型和文件存储CPFS有什么区别?
|
5月前
|
存储 NoSQL 文件存储
云计算问题之阿里云文件存储CPFS如何满足大模型智算场景的存储需求
云计算问题之阿里云文件存储CPFS如何满足大模型智算场景的存储需求
111 2
|
存储 弹性计算 并行计算
在高性能计算(HPC)场景下,阿里云存储的文件存储产品的实践
在高性能计算(HPC)场景下,阿里云存储的文件存储产品具有以下的应用需求和实践
462 4
|
存储 弹性计算 监控
|
弹性计算 Linux DataWorks
阿里云ecs搭建简易ftp服务器-用于DataWorks文件存储及依赖校验
很多企业客户在使用阿里云产品时,经常需要与FTP服务器进行文件交互,诸如跨IDC任务done文件依赖,跨账号、部门临时数据交互等场景。这里简要记录阿里云ecs搭建简易ftp服务器用于上述场景答疑的过程。
|
存储 人工智能 Cloud Native
《阿里云存储手册》——文件存储NAS
《阿里云存储手册》——文件存储NAS
261 1
|
文件存储
《阿里云产品手册2022-2023 版》——文件存储 NAS
《阿里云产品手册2022-2023 版》——文件存储 NAS
199 0