将图像移动到数组然后展平它并使用给定的x
种子进行混洗,应该很容易使用给定的种子和洗牌过程中的索引来解除它。
random.seed(x)
和shuffle - >索引,shuffle_img.jpg
然而,这个结果显示得到的IMG是相似的,但不是1:1作为具有这种颗粒噪声的输入图像。
如果不是RNG,只有PRNG,为什么不洗牌会产生如此多的噪音?
答案 0 :(得分:2)
这与您的随机数无关。
请注意,在创建混洗索引时,只使用随机数生成器一次。从文件加载索引时,不使用随机数生成器,因为只读取文件。
您的问题发生在其他地方:您将加扰的Lena保存为.jpg
。因此,可怜的Lena的加扰图像被压缩并且颜色值稍微改变。当您再次加载图像并重新排序索引时,您不会返回原始颜色,而只会获得压缩后的值。
解决方案:将图片保存为*.png
,一切正常。
如果您遇到alpha通道问题,只需将图片转换回RGB:scrambled_img = Image.open(img_path).convert("RGB")