我的任务是编写一个程序,该程序可以将图像文件作为输入,然后使用我已经编写的一些二级代码对图像进行加密,最后输出加密的图像文件。
我想导入一个图像,使它成为一个一维数字数组,对这个一维数组执行一些加密(这将使它成为一个二维数组,我将扁平化它),然后在将其转换回输入时的任何格式后,能够将加密的一维数组输出为图像文件。
我想知道如何才能做到这一点,以及关于什么类型的图像文件可以接受的细节,以及可能需要什么库。谢谢
编辑:这是我用过的一些代码,img_arr将图像存储在一个整数数组中,最大值为255。这就是我想要的,但是现在我需要在img_arr上执行一些功能后,转换回原来的格式。
from PIL import Image
img = Image.open('testimage.jfif')
print('img first: ',img)
img = img.tobytes()
img_arr=[]
for x in img:
img_arr.append(x)
img2=Image.frombytes('RGB',(460,134),img)
print('img second: ',img2)
我的输出略有不同
img first: <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=460x134 at 0x133C2D6F970>
img second: <PIL.Image.Image image mode=RGB size=460x134 at 0x133C2D49EE0>
发布于 2021-04-29 14:02:23
在编程中,Base64是一组二进制到文本的编码方案,通过将数据转换为基数64表示,以ASCII字符串格式表示二进制数据(更具体地说,8位字节序列)。
幸运的是,您可以使用基于base64的python对图像二进制文件进行编码和解码。下面的链接可以帮助您。
https://stackoverflow.com/questions/67318638
复制