Depix初体验

Depix初体验前情提要这几天有一个同学给我发了一张马赛克图,问我能不能还原?图片如上。我一看,这被马成什么鬼样子了,谁能还原得了?不过我忽然想到,我在公众号上看到一个名字叫做”Depix”的Github项目。然而近期在Github上,又出现了一款号称能抹去马赛克让原图重现的神器,引发海内外热议。这款工具名为Depix,上线没几天就在GitHub上标星已超过一万多,截止目前累计分支也超过了1.3k个。让它火出圈子的,就是下面这张效果图:如图所示,第一行是打了一层巨厚马赛克完全像素化后的文本内容,看不出

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

前情提要

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

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

然而近期在Github上,又出现了一款号称能抹去马赛克让原图重现的神器,引发海内外热议。
这款工具名为Depix,上线没几天就在GitHub上标星已超过一万多,截止目前累计分支也超过了1.3k个。
让它火出圈子的,就是下面这张效果图:
在这里插入图片描述
如图所示,第一行是打了一层巨厚马赛克完全像素化后的文本内容,看不出一点原始痕迹。
第二行则是经过AI还原后的内容,可以看到内容其实基本上已经被还原了,而且准确度很高。
第三行就是根据第二行稍加推理得到的原始密码了。
在这里插入图片描述
是的,最难被还原、甚至理论上说根本无法还原的文字,也在重重厚码之后被Depix还原了!

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

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

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

第二步:熟悉文件和md说明文档

解压后的文件是这样的:
在这里插入图片描述
depix.pygenpixed.py文件就是具体的算法了,是什么算法我也看不懂(希望有大佬带带我).
READ.md文档就是具体的说明文档。
images文件夹里放有两个子文件夹searchimagestestimages
在这里插入图片描述
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”文件夹:
我会偷偷告诉你其实我是炫耀自己的Win11吗

②打开终端
在这里插入图片描述
③参照作者给的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.net/147448.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 树莓派 网络设置_树莓派4b教程

    树莓派 网络设置_树莓派4b教程概览你想做的第一件事一定是把你的树莓派连接到因特网上。在这节课里,你将会学到如何:使用网线连接到以太网在Raspbian和Occidentalis上使用无线网卡找到树莓派的IP地址使用有线网络最快的把树莓派接入到因特网的方法是使用一根以太网线把树莓派连接到你家的路由器上。当你把网线连入树莓派的时候,你就会看到网络LED灯开始闪烁了。对于大多数的家庭网络来说,你就不需要再做任何进一步的配置了。但为了…

    2022年9月13日
    3
  • DockerCon 2016 Day2 : 企业生产环境可用

    DockerCon 2016 Day2 : 企业生产环境可用

    2021年9月16日
    49
  • 关于经纬度坐标转换的方法有哪些_cass坐标转换方法

    关于经纬度坐标转换的方法有哪些_cass坐标转换方法地球上任何一个固定的点都可以用确定的经纬度表示,一般从GPS得到的数据是经纬度,经纬度有多种表示方法。1.)ddd.ddddd,度 . 度的十进制小数部分(5位)例如:31.

    2022年8月3日
    14
  • Mysql 查看执行慢的sql语句「建议收藏」

    Mysql 查看执行慢的sql语句

    2022年2月17日
    62
  • noip2012

    noip2012题解:闲着无聊做了一遍noip2012我觉得出题出的好奇怪啊。。。为什么两道倍增两道二分答案???两天第一题:第一天第一题傻逼普及组题没什么好说的了第二天第一题你会扩欧就秒了两天第二题:

    2022年7月2日
    26
  • 组合模式 Composite[通俗易懂]

    组合模式 Composite[通俗易懂]组合模式 Composite动机模式定义实例结构要点总结笔记动机在软件某些情况下,客户代码过多地依赖于对象容器复杂的内部实现结构,对象内部实现结构(而非抽象接口)地变化将引起客户代码地频繁变化.带来代码地维护性,扩展性等弊端如何将”客户代码与复杂地对象容器结构”解耦?让对象容器自己来实现自身地复杂结构,从而使得客户代码就像处理简单对象一样来处理复杂地对象容器模式定义将对象组合成树形结构以表示”整体-部分”地层次结构.Composite使得用户对单个对象和组合对象地使用具有一致性(稳定)实例树形

    2022年8月11日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号