将文件夹jpg图片批量转为对应的.npy格式文件

将文件夹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文件

  1. 遍历文件夹,显示所有jpg文件;
  2. 读取path目录;
  3. 通过strip操作,cut掉,路径,jpg等不必要的str ,保留图片的名字,保证 转换后:<同名.npy>。
  4. 最后展示,是否有误,与未转变之前。load, shape展示。

后面我再增加 考虑如何将jpg png格式的互换,这些小代码,预处理很重要。

你可能感兴趣的:(学习,格式转化,python)