Mee*_*eet -3 python java jpeg image-processing huffman-code
我想将JPEG文件转换为其二进制等效项,然后将其转换回JPEG格式.即将JPEG文件转换为1和0并将其输出到文本文件中,然后获取此文本文件并将其转换回原始图像(只是为了检查转换中是否没有错误)
我试过用python中的binascii模块做这个,但似乎有一个我无法理解的编码问题.
如果有人可以帮我解决这个问题真的很棒!
PS:Java中的解决方案将更受欢迎
好吧,你会后悔;-),但这是一个Python解决方案:
def dont_ask(inpath, outpath):
byte2str = ["{:08b}".format(i) for i in range(256)]
with open(inpath, "rb") as fin:
with open(outpath, "w") as fout:
data = fin.read(1024) # doesn't much matter
while data:
for b in map(ord, data):
fout.write(byte2str[b])
data = fin.read(1024)
dont_ask("path_to_some_jpg", "path_to_some_ouput_file")
Run Code Online (Sandbox Code Playgroud)
当然,这会将任何文件转换为由"1"和"0"字符组成的8倍大的文件.
顺便说一下,我不是写另一半 - 但不是因为它很难;-)