Преобразование в двоичную строку в выпуске Python - PullRequest
2 голосов
/ 23 декабря 2019

Я пытаюсь прочитать jpg в python3, затем преобразовать в двоичную строку и затем записать обратно в jpg с этой двоичной строкой. (На самом деле, мотив состоит в том, чтобы поиграть / сжать двоичную строку, если это возможно) ... но когда я записываю ее обратно, размер jpg изменяется (уменьшается). Я не знаю, почему это должно измениться. Любые идеи?

Вот код:

import io
import sys
from PIL import Image
image = open("53.jpg", "rb")
imageBinaryBytes = image.read()

c = bin(int.from_bytes(imageBinaryBytes, byteorder=sys.byteorder))
d = int(c, 2).to_bytes((len(c)-2),byteorder=sys.byteorder )

imageStream = io.BytesIO(d)
imageFile = Image.open(imageStream)
imageFile.save("53-out.jpg")

Теперь 53.jpg был размером 53 КБ (52816), а 53-out.jpg оказывается 40 КБ (40061)

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...