这里的示例是我在尝试学习如何使用Tensorflow时编写的升级程序的精简版本。如果我向它提供一个具有方向exif元数据的图像(我的测试图像具有旋转270 CW),那么输出图像将被旋转,好像是"正确"那个方向。这似乎没有记录在任何地方。
有没有办法通过将标志或值传递给decode_jpeg / encode_jpeg函数,或者事先删除元数据来阻止这种情况发生?
"Use tensorflow to decode then encode an image at a hard-coded location and save the result to a second hard-coded location."
import tensorflow as tf
def main():
"Use tensorflow to decode then encode an image at a hard-coded location and save the result to a second hard-coded location."
sess = tf.Session()
image_decoded = tf.image.decode_jpeg(tf.read_file('D:\\TensorFlow\\Upscaling\\C890FAA477.jpg'), channels=3)
fname = tf.constant('D:\\TensorFlow\\Upscaling\\C890FAA477_DEC_ENC.jpg')
enc = tf.image.encode_jpeg(tf.cast(image_decoded, tf.uint8))
fwrite = tf.write_file(fname, enc)
sess.run(fwrite)
return
main()
答案 0 :(得分:1)
事实证明我把这一切都落后了。 Windows资源管理器和默认照片查看器都自动应用旋转,并且它们正在翻转宽度/高度值以匹配新旋转。与Python或Tensorflow无关。