Depix初体验

大家好,又见面了,我是你们的朋友全栈君。

前情提要

这几天有一个同学给我发了一张马赛克图,问我能不能还原?

图片如上。 我一看,这被马成什么鬼样子了,谁能还原得了? 不过我忽然想到,我在公众号上看到一个名字叫做”Depix”的Github项目。

如图所示,第一行是打了一层巨厚马赛克完全像素化后的文本内容,看不出一点原始痕迹。 第二行则是经过AI还原后的内容,可以看到内容其实基本上已经被还原了,而且准确度很高。 第三行就是根据第二行稍加推理得到的原始密码了。

是的,最难被还原、甚至理论上说根本无法还原的文字,也在重重厚码之后被Depix还原了!

是的,开发者用了神奇的算法将马赛克还原了! 最近刚好接触了Python,那么我也下载下来试试看吧。

第一步:下载该项目的源文件

这里->Depix项目的下载地址

第二步:熟悉文件和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总会提示我如下指令,

代码语言:javascript代码运行次数:0运行复制
C:\Depix-main>python depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.pngTraceback (most recent call last):  File "depix.py", line 1, in     from depixlib.LoadedImage import *  File "C:\Depix-main\depixlib\LoadedImage.py", line 1, in     from PIL import ImageModuleNotFoundError: 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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/147448.html原文链接:https://javaforall.cn