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

   日期:2020-09-06     浏览:145    评论:0    
核心提示:将文件夹jpg图片批量转为对应的.npy格式文件)一一对应最近实验,需将jpg图片批量转化为一一对应npy格式的文件,有问题,在查询多方资料后。遂记录结果如下。jpg格式的文件以jpg格式的图片作为输入转化数据。# 尝试将转化的npy文件展示其中的内容。import numpy as npfrom PIL import Imageimport osimport tensorflow as tfimport cv2# ##################### im 2 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格式的互换,这些小代码,预处理很重要。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服