【发布时间】:2018-08-17 02:49:52
【问题描述】:
我正在编写一个图像加扰和解扰程序。我正在将一个自定义种子传输到随机函数,以便以一种我可以用相同的种子解扰它们的方式对图像像素进行加扰。加扰部分工作正常,但是当我解扰加扰图像时,它会留下一些黑色像素,我厌倦了使用 png 格式,因为它没有被压缩但仍然不好。
这是我的代码:
from PIL import Image
import random
from datetime import datetime
类扰频器:
@staticmethod
def scramble(key,fileName):
image = Image.open(fileName)
pixels = image.load()
new_image = Image.new(image.mode,image.size)
new_image_pix = new_image.load()
seed = 0
for c in key:
seed+=ord(c)
random.seed(seed)
for i in range(0,(image.size)[0]):
for j in range(0,(image.size)[1]):
new_image_pix[i,j] = pixels[random.randint(0,image.size[0]-1),
random.randint(0,image.size[1]-1)]
new_image.show()
new_image.save('scrambeld.png')
@staticmethod
def unscramble(key,fileName):
image = Image.open(fileName)
pixels = image.load()
new_image = Image.new(image.mode,image.size)
new_image_pix = new_image.load()
seed = 0
for c in key:
seed+=ord(c)
random.seed(seed)
for i in range(0,(image.size)[0]):
for j in range(0,(image.size)[1]):
new_image_pix[random.randint(0,image.size[0]-1),
random.randint(0,image.size[1]-1)] = pixels[i,j]
new_image.show()
new_image.save('unscarmbeld.png')
非常感谢任何帮助。
【问题讨论】:
标签: python image image-processing png pixels