python Pil getdata() 如何快速十六进制?
How do python Pil getdata() to hex fast?
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)
代码可以工作,但是当图像很大时太慢了,不可能更快?是否可以直接在十六进制中获取数据()?
感谢您的关注?好作品。
要将原始图像转换为十六进制字符串,请使用 tobytes()
获取 bytes
,然后使用 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())
读入一张 jpg 并生成一串十六进制值。然后反转程序。取一串十六进制写成jpg文件...
import binascii
with open('my_img.jpg', 'rb') as f:
data = f.read()
im_hex = binascii.hexlify(data)
# check out the hex...
print(im_hex[:10])
# reversing the procedure
im_hex = binascii.a2b_hex(im_hex)
print(im_hex[:10])
# write it back out to a jpg file
with open('my_hex.jpg', 'wb') as image_file:
image_file.write(im_hex)
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)
代码可以工作,但是当图像很大时太慢了,不可能更快?是否可以直接在十六进制中获取数据()?
感谢您的关注?好作品。
要将原始图像转换为十六进制字符串,请使用 tobytes()
获取 bytes
,然后使用 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())
读入一张 jpg 并生成一串十六进制值。然后反转程序。取一串十六进制写成jpg文件...
import binascii
with open('my_img.jpg', 'rb') as f:
data = f.read()
im_hex = binascii.hexlify(data)
# check out the hex...
print(im_hex[:10])
# reversing the procedure
im_hex = binascii.a2b_hex(im_hex)
print(im_hex[:10])
# write it back out to a jpg file
with open('my_hex.jpg', 'wb') as image_file:
image_file.write(im_hex)