python怎么按顺序读取文件夹中的图片
如题,有好几个文件夹,每个文件夹中有多个图片,怎么一张一张读出来首先安装PIL库:http://halcom.cn/forum.php?mod=viewthread&tid=438
注意:python可能不识别带中文字符的路径
参考连接:Tensorflow:https://stackoverflow.com/questions/34783030/saving-image-files-in-tensorflow
https://stackoverflow.com/questions/33849617/how-do-i-convert-a-directory-of-jpeg-images-to-tfrecords-file-in-tensorflow
百度网盘链接:
链接:http://pan.baidu.com/s/1qY4YkHY
具体链接在halcom.cn论坛,联系人QQ:3283892722
该论坛是一个学习交流平台,我会逐一的和大家分享学习。
欢迎大家录制视频,你可在论坛进行打赏分享。
视频专用播放器:http://halcom.cn/forum.php?mod=viewthread&tid=258&extra=page%3D1
Halcom 发表于 2017-6-16 22:34
首先安装PIL库:http://halcom.cn/forum.php?mod=viewthread&tid=438
注意:python可能不识别带中文字符的 ...
谢谢了,我用tensorflow顺序读彩色图片,然后加上图片序号存入一个4-D张量中,总是报错,麻烦你帮我看一下,程序楼下我贴出来了 import numpy as np
import tensorflow as tf
def get_image(image_path):
"""Reads the jpg image from image_path.
Returns the image as a tf.float32 tensor
Args:
image_path: tf.string tensor
Reuturn:
the decoded jpeg image casted to float32
"""
return tf.image.convert_image_dtype(tf.image.decode_jpeg(tf.read_file(image_path), channels=3),dtype=tf.uint8)
data=np.zeros((25,300,300,3),np.uint8)
for i in range(25):
for idx in range(25):
a=get_image('C:/Users/Administrator/Desktop/test/2 '+'('+str(i)+').jpg')
data=a
错误原因是这样的:
File "C:/Users/Administrator/小甲鱼/readPIC.py", line 48, in <module>
data=a
ValueError: setting an array element with a sequence. QQQQ 发表于 2017-6-18 22:53
错误原因是这样的:
File "C:/Users/Administrator/小甲鱼/readPIC.py", line 48, in
data=a
第一种方法:numpy进行操作,保存为4-D矩阵:
from PIL import Image
import numpy as np
import os
def load_Img(imgDir,imgFoldName):
imgs = os.listdir(imgDir+imgFoldName)
imgNum = len(imgs)
data = np.empty((imgNum,28,28,1),dtype="float32")
for i in range (imgNum):
img = Image.open(imgDir+imgFoldName+"/"+imgs)
arr = np.asarray(img,dtype="float32")
arr = np.reshape(arr, )
data = arr
return data
imgDir = "./Test/"
imgFoldName = "test"
data = load_Img(imgDir,imgFoldName)
QQQQ 发表于 2017-6-18 22:51
import numpy as np
import tensorflow as tf
def get_image(image_path):
第2种方法:tensorflow进行操作,保存为tensor:
# -*- coding: utf-8 -*-
"""
Created on Wed Aug9 12:48:17 2017
@author: Administrator
"""
import tensorflow as tf
import numpy as np
import os
from PIL import Image
cur_dir = os.getcwd()
print("For Tensorflow to load images")
print("current directory:",cur_dir)
def modify_image(image):
resized = tf.image.resize_images(image, , 1)
resized.set_shape()
flipped_images = tf.image.flip_up_down(resized)
return flipped_images
def read_image(filename_queue):
reader = tf.WholeFileReader()
key,value = reader.read(filename_queue)
image = tf.image.decode_png(value)
return key,image
def inputs():
# 手写数字--灰度图像
filenames = ['./Test/test/1.png', './Test/test/2.png' ]
# 加载所有的图像
FullImageList = [];
filenames = os.listdir('./Test/test/')
for fn in filenames:
FullImage = os.path.join( cur_dir, 'Test/test', fn )
FullImageList.append(FullImage)
filename_queue = tf.train.string_input_producer(filenames)
filename,read_input = read_image(filename_queue)
reshaped_image = modify_image(read_input)
return filename,reshaped_image
with tf.Graph().as_default():
image = inputs()
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
tf.train.start_queue_runners(sess=sess)
for i in range(3):
filename,img = sess.run(image)
print (filename)
# 手写数字--灰度图像
img = Image.fromarray(img[:,:,0], "L")
img.save(os.path.join(cur_dir+'/Test/',"ysw"+str(i)+".bmp"))
参考连接:https://stackoverflow.com/questions/34783030/saving-image-files-in-tensorflow
页:
[1]