fil="IMG1.JPG"
im = Image.open(fil)
pixels=list(im.getdata())
hex_list=[]
for px in pixels:
he='%02x%02x%02x' % px
hex_list.append(he)
代码可以工作但是当图像太大时太慢,不可能更快?可以直接用十六进制来获取getdata()吗?
感谢您的兴趣?好作品。
答案 0 :(得分:0)
要将原始图像转换为十六进制字符串,请使用bytes
获取tobytes()
,然后使用binascii
模块转换为十六进制。
import binascii
im_bytes = im.tobytes()
im_hex = binascii.hexlify(im_bytes)
要将其转换为十六进制字符串中的压缩格式(JPG,PNG):
import binascii
import io
im_bytes = io.BytesIO()
im.save(im_bytes, format='JPEG')
im_hex = binascii.hexlify(im_bytes.getvalue())