欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

程序员文章站 2024-02-22 11:38:46
...

原代码:

import matplotlib.pyplot as plt
import tensorflow as tf

#读取图像的原始数据
image_raw_data = tf.gfile.FastGFile('dog.jpg','r').read()

with tf.Session() as sess:
    img_data = tf.image.decode_jpeg(image_raw_data)
    print(img_data.eval())

    #可视化得到的图像
    plt.imshow(img_data.eval())
    plt.show()

    encoded_image = tf.image.encode_jpeg(img_data)
    with tf.gfile.GFile('output.jpg','wb') as f:
        f.write(encoded_image.eval())

只用修改读取图像时的权限就行,把

image_raw_data = tf.gfile.FastGFile('dog.jpg','r').read()改为
image_raw_data = tf.gfile.FastGFile('dog.jpg','rb').read()就好了。