任何使图像无法识别的简单方法?

时间:2011-01-21 06:47:24

标签: python image

我想使图像无法识别有效

我不想让它完全变成黑色 - 我希望看到它的人确信这确实是他们之前看过的照片所产生的独特画面。

我尝试模糊图像100次,但它很慢,我想知道是否会有一些不错的方法。

我只是在考虑是否可以在python中仅仅为了这个目的“洗牌像素”。

请帮忙

我已经从你们那里得到了一些建议,我写了以下内容:

imageFile = "myfile.png"
im1 = Image.open(imageFile)
l = list( im1.tostring())
random.shuffle(l)
Image.fromstring('RGB', (100,100), ''.join(l) ).save('out.png')
编辑:我粘贴了我写的代码。这是相当CPU密集的

4 个答案:

答案 0 :(得分:1)

从3x3块中取一个像素并用它替换块。基本上你会得到一个较小的图像,虽然你不必调整它(这会使一些图像太小而无法看到)。这与模糊有关,但更简单/更快,并且会产生像素化效果,而不是光学模糊。

例如:

xxxxxx
xAxxBx
xxxxxx
xxxxxx
xCxxDx
xxxxxx

变为:

AAABBB
AAABBB
AAABBB
CCCDDD
CCCDDD
CCCDDD

根据需要改变块大小。

答案 1 :(得分:0)

然后应用一系列快速过滤器。模糊是CPU密集型的,所以你需要反转颜色,切换像素组,水平和/或垂直翻转......

答案 2 :(得分:0)

为什么不只是改变像素的顺序?根据您想要的可识别程度,您可以针对单个像素执行此操作,或者将图像分成块并将其随机化。

答案 3 :(得分:0)

对于简单的方法,您可以使用Python Imaging Library应用颜色变换,图像增强,点操作以及tutorial page中显示的各种其他选项。