jpg 'gbk' codec can't decode byte in position 解决方法

来源:互联网 发布:不用网络的电视软件 编辑:程序博客网 时间:2024/06/01 07:54

处理HED的时候碰到一段代码(读取图片并转为数组)出错,源代码如下:

from io import StringIOimport numpy as npfrom PIL import Imagefid = open(test_image, 'r')stream = fid.read()fid.close()image_buffer = StringIO(stream)image = Image.open(image_buffer)image = np.array(image, np.float32)

log类似”jpg ‘gbk’ codec can’t decode byte in position”的形式,属于编码错误。
源代码为python2,怀疑是版本兼容的锅,改成如下即可:

from io import BytesIOimport numpy as npfrom PIL import Imagefid = open(test_image, 'rb')stream = fid.read()fid.close()image_buffer = BytesIO(stream)image = Image.open(image_buffer)image = np.array(image, np.float32)

注意主要是使用’rb’代替’r’,使用BytesIO代替StringIO。

阅读全文
0 0
原创粉丝点击