如何使用默认 PRNG 和索引恢复 python 中的随机数组?

How to revert shuffled array in python with default PRNG and indexes?

将图像移动到数组,然后将其展平并使用给定的 x 种子进行洗牌,使用给定的种子和洗牌过程中的索引应该很容易将其取消洗牌。

但是,此结果显示生成的 IMG 与具有此颗粒噪声的输入图像相似,但 1:1 不同。

如果不是 RNG 而只是 PRNG,为什么洗牌会产生如此多的噪音?

这与你的随机数无关

请注意,您在创建随机索引时只使用了一次随机数生成器。当您从文件加载索引时,不会使用随机数生成器,因为只读取一个文件。

您的问题出现在不同的地方:您将炒过的 Lena 另存为 .jpg。因此,可怜的莉娜的乱序图像被压缩,颜色值发生了一点变化。当您再次加载图像并对索引重新排序时,您不会取回原始颜色,而只会取回压缩后的值。

解决方案:将您的图像保存为 *.png 一切正常。

如果您 运行 遇到 alpha 通道问题,只需将图像转换回 RGB:scrambled_img = Image.open(img_path).convert("RGB")