本文主要是介绍深度学习|批处理图像保存到四维数组中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
将文件夹中不同尺寸的图像保存到四维的数组中,作为数据集
方法1:
import numpy as np
import tensorflow as tf
from skimage import io
import os
import cv2
import matplotlib.pyplot as plt
from PIL import Image #导入Image模块
def get_imagelist(path): """此函数读取特定文件夹下的jpg格式图像,返回图片所在路径的列表函数输入:-path:图像文件夹路径函数输出:-imglist:图片所在路径列表"""imglist=[os.path.join(path,f) for f in os.listdir(path) if f.endswith('.jpg') ]return imglistdef img_bprocess(path,m,n):"""该函数返回图像组成的数组函数输入:-path:图像文件路径-m:图像长-n:图像宽函数输出:X_train:输出数据集数组.size(d,m,n,3)"""imglist=get_imagelist(path) #print (imglist) #这里以list形式输出jpg格式的所有图像(带路径)d=len(imglist) #这可以以输出图像个数,如果你的文件夹下有500张图片,那么d为500#print("图片个数:",d)X_train=np.empty((d,m,n,3))#建立d*(m,n,3)的矩阵while d>0:img=Image.open(imglist[d-1]) #打开图像img_ndarray=np.asarray(img) #将图像转化为数组#print(img_ndarray.shape)#将所有图像reshape为(m,n,3)img_ndarray=np.resize(img_ndarray,(m,n,3))#将图像的矩阵形式保存到(d,m,n,3)四维数组中X_train[d-1]=img_ndarray d=d-1return X_train
引用函数的实例:
import numpy as np
import tensorflow as tf
from skimage import io
import os
import cv2
import matplotlib.pyplot as plt
from data_set_creat import img_bprocesspath='E:/vscodeproject/practice_project/datasets/deep_nn/train/'
X_train=img_bprocess(path,224,224)
结果:
方法2:
def img_bcreat_2(path,m,n):"""函数输入:-path:图像文件路径-m:图像长-n:图像宽函数输出:X_train:输出数据集数组.size(d,m,n,3)"""imglist=os.listdir(path)d=len(imglist)X_train=np.empty((d,m,n,3))i=0for img in imglist:img_path=os.path.join(path,img)img=cv2.imread(img_path)data=cv2.resize(img,(m,n),interpolation=cv2.INTER_CUBIC)X_train[i][:,:,:]=datai=i+1return X_train
这篇关于深度学习|批处理图像保存到四维数组中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!