在Python2下运行的代码
我先把工程目录截图放上来:
import os
import numpy as np
import cv2
def imgTodata(path, imgCount = 128, weight = 1960, height = 960, channel = 3):
pathDir = list(os.listdir(path))
# [pic, weight, height, channel]
imgs = np.zeros((imgCount, weight, height, channel))
for id, pic in enumerate(pathDir):
img = cv2.imread(str(path + pic))
# cv2.namedWindow('test')
# cv2.imshow('test', img)
# cv2.waitKey(0)
# print 'The ', id, ' picture shape: ', img.shape
newImg = cv2.resize(img, (int(height) ,int(weight)), interpolation=cv2.INTER_CUBIC)
# print 'The ', id, ' picture shape: ', newImg.shape
imgs[id] = newImg
# print id, ' is success!'
# print imgs.shape
for i in xrange(2):
img = imgs[i]
# print img.shape
return imgs
def save(path, data):
np.save(path, data)
def load(path):
data = np.load(path)
return data
if __name__ == '__main__':
path = 'data/'
data = imgTodata(path,2, 1280, 960, 3)
print data[0]
print data.shape
save_path = 'npy_data/test.npy'
save(save_path, data)
data_ = load(save_path)
print data_.shape
只要修改对应的参数,就可以把自己图片当成向量传给Tensorflow网络。