【问题标题】:python image scrambeling porgrampython图像打乱程序
【发布时间】: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')

original image:

scrambeld image:

image after Un Scrambeling:

非常感谢任何帮助。

【问题讨论】:

    标签: python image image-processing png pixels


    【解决方案1】:

    您不能确保原始图像中的每个像素都被放置(分配自)加扰图像中,这意味着这些像素不会被填充到未加扰图像中。

    【讨论】:

      猜你喜欢
      • 2014-05-02
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 2012-08-19
      • 2015-07-16
      • 2018-10-18
      相关资源
      最近更新 更多