2016-10-29 16 views

答えて

4

は:

import tensorflow as tf 


def write_jpeg(data, filepath): 
    g = tf.Graph() 
    with g.as_default(): 
     data_t = tf.placeholder(tf.uint8) 
     op = tf.image.encode_jpeg(data_t, format='rgb', quality=100) 
     init = tf.initialize_all_variables() 

    with tf.Session(graph=g) as sess: 
     sess.run(init) 
     data_np = sess.run(op, feed_dict={ data_t: data }) 

    with open(filepath, 'w') as fd: 
     fd.write(data_np) 


import numpy as np 

R = np.zeros([128 * 128]) 
G = np.ones([128 * 128]) * 100 
B = np.ones([128 * 128]) * 200 

data = np.array(list(zip(R, G, B)), dtype=np.uint8).reshape(128, 128, 3) 

assert data.shape == (128, 128, 3) 

write_jpeg(data, "./test.jpeg") 

numpyの一部を向上させることができるが、それはデモンストレーションの目的のためだっただけ

+0

最後のデータ形式は文字列ではないバイトのようです。 fd: fd.write(data_np)「 」に「open(filepath、 'wb')をfd: fd.write(data_np)」として「open(filepath、 'w' Python 3.5およびTensorflow 1.1.0 –

1

また、画像を消去してopencvまたはPILを使用して保存することもできます。

import cv2 # opencv 
from scipy.misc import imsave 

... network generates an image ... 
out = network(input) 
img = tf.image.encode_jpeg(out) 

img_to_save = img.eval(feed_dict) 
# cv2.imwrite("myimage", img_to_save) 
imsave("myimage.jpeg", img_to_save) 

画像にはfeed_dictの評価が必要な場合とない場合があります。機能は次のようになりtensorflowで

+0

IMGのデータ型は何ですか? –

+0

imgはテンソルフロー変数(またはテンソル)です。 – Steven

+0

答えをありがとう。 img変数がテンソルの場合は、のようになります。 –