将文件夹jpg图片批量转为对应的.npy格式文件)
一一对应
最近实验,需将jpg图片批量转化为一一对应npy格式的文件,有问题,在查询多方资料后。遂记录结果如下。
jpg格式的文件
以jpg格式的图片作为输入转化数据。
# 尝试将转化的npy文件展示其中的内容。
import numpy as np
from PIL import Image
import os
import tensorflow as tf
import cv2
# ##################### im 2 npy #################
path = r'../dataset1/jpgdata/test_jpg'
out_path = r'../dataset1/luowei/'
def get_file(path,rule='.jpg'):
all=[]
for fpathe, dirs, files in os.walk(path): # all 目录
for f in files:
filename = os.path.join(fpathe,f)
if filename.endswith(rule):
all.append((filename))
return all
if __name__=='__main__':
paths = get_file(r'D:\luowei_temp\SRCNN_try1\Super-Resolution_CNN-master\dataset1\jpgdata\test_jpg',rule='.jpg')
for ims in paths:
print(ims)
#cut path and '.jpg' ,保留 000000050755_bicLRx4图片名称
file_name = ims.strip('D:\luowei_temp\SRCNN_try1\Super-Resolution_CNN-master\dataset1\jpgdata\test_jpg\',.jpg')
#可以打印出来看看cut以后的效果
# print((file_name,type(file_name)))
im1 = cv2.imread(ims)
im2=np.array(im1)
# print(type(im2))
np.save(file_name+'.npy',im2)
print(tf.shape(im2))
print("------show npy's shape_size---------")
data = np.load('../dataset1/jpgdata/test_jpg/000000050755_bicLRx4.npy')
print(data.shape)
总之,以上就是图片批量生成对应的npy文件。
- 遍历文件夹,显示所有jpg文件;
- 读取path目录;
- 通过strip操作,cut掉,路径,jpg等不必要的str ,保留图片的名字,保证 转换后:<同名.npy>。
- 最后展示,是否有误,与未转变之前。load, shape展示。
后面我再增加 考虑如何将jpg png格式的互换,这些小代码,预处理很重要。