使用数据读取器在tensorflow中读取tiff文件的正确方法

时间:2017-09-11 12:31:00

标签: python machine-learning tensorflow tiff

我正在使用张量流来读取一些tiff格式的地理空间图像数据。我想使用类似的东西:

    images = tf.convert_to_tensor(image_list, dtype=tf.string)
    img_contents = tf.read_file(images)
    img = tf.image.decode_image(img_contents, channels=3)

我想我需要做的就是自己编写解码功能。但是img_contents实际上是一个张量字符串,我无法直接使用它来访问该文件。有什么方法可以读取tiff图像吗?

1 个答案:

答案 0 :(得分:0)

你可以用Python解析你的文件,然后通过feed_dict传递给TensorFlow训练图,按照代码进行演示,但不能运行:

def read_tiff_file(file_path):
    #### code that read tiff_file content 
    return image_content # return the image content with 18 * 18 * 3

image_pl = tf.placeholder([18, 18, 3], tf.float32) # suppose your image is 18*18 with 3 channels

## constructing tf.graph with image_pl
## ...

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(loss)

with tf.Session as sess:
    for file_name in file_name_list:
        image_content = read_tiff_file(file_name)
        sess.run(train_step, feed_dict={image_pl:image_content})