在tensorflow中导入图像

agu*_*231 1 python filesystems image tensorflow

我正在尝试导入图像并将其转换为张量。所有其他解决方案都建议制作 afilename_queue并使用tf.reader(),但我无法让它发挥作用......因此,我只介绍基础知识。

我的桌面目录中有一个名为 g 的文件test.jp,并且我正在运行 Linux 环境。这是我的代码:

import tensorflow as tf

image = tf.image.decode_jpeg("~/Desktop/test.jpg", channels=1)
print(image)
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,一些非常简单的代码......但是它输出

Tensor("DecodeJpeg:0", shape=(?, ?, 1), dtype=uint8)
Run Code Online (Sandbox Code Playgroud)

这告诉我它没有正确读取文件。我做错了什么吗?

谢谢!

kev*_*man 5

该函数tf.image.decode_jpeg只是构造一个图节点并将其添加到执行图中。您必须实际评估节点才能运行它并以数组形式获取其值numpy。尝试以下操作:

import tensorflow as tf

image = tf.image.decode_jpeg(tf.read_file("~/Desktop/test.jpg"), channels=1)
sess = tf.InteractiveSession()
print(sess.run(image))
Run Code Online (Sandbox Code Playgroud)

请注意,其自身参数tf.image.decode_jpeg应该是一个 string Tensor。值得庆幸的是,TensorFlow 有一个将文件读入 的操作Tensor,即tf.read_file.