【发布时间】:2021-07-22 21:31:02
【问题描述】:
我的任务是编写一个程序,该程序可以将图像文件作为输入,然后用我已经编写的一些辅助代码对图像进行加密,最后输出加密的图像文件。
我想导入一个图像,使其成为一维数字数组,对该一维数组执行一些加密(这将使其成为一个二维数组,我将对其进行展平),然后能够输出加密的一维数组将数组转换回输入时的任何格式后作为图像文件。
我想知道如何做到这一点,以及可以接受哪些类型的图像文件以及可能需要哪些库的详细信息。 谢谢
编辑: 这是我使用的一些代码,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>
【问题讨论】:
-
使用 base64。此链接回答您的问题。 stackoverflow.com/questions/3715493/…
-
@bobdaves69 到目前为止你尝试过什么?
-
@Bilal 首先,我尝试过使用 Pillow。我将使用我尝试过的一些代码来编辑问题。
-
@bobdaves69 你可以看到这个有用的tutorial using OpenCV
-
@Bilal 谢谢。我只需要将整个图像读取为数字数组,然后将结果输出回图像,但结果比预期的要困难得多。我会看看链接,明天回来。
标签: python arrays python-3.x image image-processing