我正在使用tensorflow来读取编码和解码图像,但在这样做时出现上述错误。
import tensorflow as tf
import base64
import numpy as np
from PIL import Image
import io
############################################ IMAGE READ #################################################
#tensorflow==2.10.0
image = tf.io.read_file('Cotton American boll worm 2.jpg' , name = None)
############################################ IMAGE DECODING #################################################
b_64 = tf.io.encode_base64(image, pad=False, name=None)
decode_image = tf.io.decode_base64(b_64, name=None)
sol = io.BytesIO(decode_image)
image = Image.open(sol)#HERE IS THE ERROR
1条答案
按热度按时间5tmbdcev1#
在使用
print()
检查它在变量中有什么之后,我发现它将完整的对象tensor
转换为BytesIO
中的bytes
(它将Tensor序列化),但它必须从tensor
中只获得原始的bytes
。而且我发现它需要
.numpy()
才能从tensor
获得预期的数据。完整工作代码