当前位置 : 主页 > 编程语言 > python >

Tensoflow 把自己的图片生成向量

来源:互联网 收集:自由互联 发布时间:2022-06-15
在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, hei


在Python2下运行的代码

我先把工程目录截图放上来:

Tensoflow 把自己的图片生成向量_python

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网络。


网友评论