前情提要
这几天有一个同学给我发了一张马赛克图,问我能不能还原?
图片如上。
我一看,这被马成什么鬼样子了,谁能还原得了?
不过我忽然想到,我在公众号上看到一个名字叫做"Depix"的Github项目。
然而近期在Github上,又出现了一款号称能抹去马赛克让原图重现的神器,引发海内外热议。
这款工具名为Depix,上线没几天就在GitHub上标星已超过一万多,截止目前累计分支也超过了1.3k个。
让它火出圈子的,就是下面这张效果图:
如图所示,第一行是打了一层巨厚马赛克完全像素化后的文本内容,看不出一点原始痕迹。
第二行则是经过AI还原后的内容,可以看到内容其实基本上已经被还原了,而且准确度很高。
第三行就是根据第二行稍加推理得到的原始密码了。
是的,最难被还原、甚至理论上说根本无法还原的文字,也在重重厚码之后被Depix还原了!
是的,开发者用了神奇的算法将马赛克还原了!
最近刚好接触了Python,那么我也下载下来试试看吧。
第一步:下载该项目的源文件
第二步:熟悉文件和md说明文档
解压后的文件是这样的:
depix.py
和genpixed.py
文件就是具体的算法了,是什么算法我也看不懂(希望有大佬带带我).
READ.md
文档就是具体的说明文档。
images
文件夹里放有两个子文件夹searchimages
和testimages
searchimages
里放着的就是作者给的搜索集图片,到时候我们可以用不同的搜索集还原。
testimages
里放着的就是示例的测试图片。
打开README.md说明文档,我们可以看到使用方法,其中几条语句我们需要搞懂是什么意思:
python -m pip install -r requirements.txt \\指的是加载依赖的文档
python depix.py -p /path/to/your/input/image.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o /path/to/your/output.png
这么长,看得我都要眼花了,但其实我们可以分几块看,
第一块:/path/to/your/input/image.png
:输入你想还原的图片的路径
第二块:images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png
:确定你要依赖的搜索集
第三块:/path/to/your/output.png
:定义生成图片你想保存的位置和名字
所以看懂了其实很简单有没有。
第三步:输入命令,开始运行
这里我推荐使用Pycharm运行。而且电脑上要先安装Python和pip。
cmd运行篇
因为我自己有先用cmd尝试运行,但是cmd总会提示我如下指令,
C:\Depix-main>python depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png
Traceback (most recent call last):
File "depix.py", line 1, in <module>
from depixlib.LoadedImage import *
File "C:\Depix-main\depixlib\LoadedImage.py", line 1, in <module>
from PIL import Image
ModuleNotFoundError: No module named 'PIL' //缺少'PIL'的目录
后来Google了一下,发现是要输入pip install Pillow
命令,然后我输入了,结果还是跑不起来。
算了,放弃了,跑路Pycharm。
Pycharm篇
这里建议先把“Depix-main”文件夹放到C盘主目录,输入路径时也不会打错。
①然后打开在Pycharm中“Depix-main”文件夹:
②打开终端
③参照作者给的md说明文档一步一步来吧。
④在还原我的图片之前,先用作者给的示例图片运行一下。
就是这张,然后输入语句命令:python depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png
使用这张debruinseq_notepad_Windows10_closeAndSpaced.png
搜索集里的图片(在searchimages
文件夹下)
等呀等呀,终于跑好了!
我们打开一看,
还真有点样子!
那用我自己这张图片试一试怎么样呢?
在控制命令台输入python depix.py -p mi.jpg -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output1.png
开始!
等了很久,终于跑出来了,点击output1.page
一看:
卧槽,这特么是个啥…我裂开了
事后经验
参考了别的一篇文章,我也认为应该是作者按照自己的打码风格设计了这个算法,还是不太普适。
所以以后大家打码一定要厚码,码到亲妈都认不出来就会相对安全一些。
写于2021/09/28