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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/147449.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • win10 elasticsearch安装IK中文分词器

    win10 elasticsearch安装IK中文分词器

  • INSERT INTO SELECT语句与SELECT INTO FROM语句区别

    INSERT INTO SELECT语句与SELECT INTO FROM语句区别1.INSERTINTOSELECT语句语句形式为:InsertintoTable2(field1,field2,…)selectvalue1,value2,…fromTable1或者:InsertintoTable2select*fromTable1注意:(1)要求目标表Table2必须存在,并且字段field,field2…也必须存在(2)注意Table2的主

  • sqlserver创建视图索引「建议收藏」

    sqlserver创建视图索引「建议收藏」索引视图创建注意事项对视图创建的第一个索引必须是唯一聚集索引。创建唯一聚集索引后,可以创建更多非聚集索引。为视图创建唯一聚集索引可以提高查询性能,因为视图在数据库中的存储方式与具有聚集索引的表的存储方式相同。查询优化器可使用索引视图加快执行查询的速度。要使优化器考虑将该视图作为替换,并不需要在查询中引用该视图。索引视图中列的large_value_types_out_of_row选项的设置继承的是基表中相应列的设置。此值是使用sp_tableoption设置的。从表达式组成的列的默认设

  • https加密原理(转)

    https加密原理(转)HTTP、HTTPS在我们日常开发中是经常会接触到的。我们也都知道,一般Android应用开发,在请求API网络接口的时候,很多使用的都是HTTP协议;使用浏览器打开网页,也是利用HTTP协议。看来HTTP真是使用广泛啊,但是,HTTP是不安全的。利用网络抓包工具就可以知道传输中的内容,一览无余。比如我经常会使用Fiddler来抓包,搜集一些有趣的API接口。那么…

  • Python#Typora-Python笔记[通俗易懂]

    Python#Typora-Python笔记[通俗易懂]python基础笔记

  • JVM架构和GC垃圾回收机制(JVM面试不用愁)[通俗易懂]

    JVM架构和GC垃圾回收机制(JVM面试不用愁)[通俗易懂]JVM架构和GC垃圾回收机制详解JVM架构图分析下图:参考网络+书籍,如有侵权请见谅(想了解Hadoop内存溢出请看:Hadoop内存溢出(OOM)分类、参数调优化)JVM被分为三个主要的子系统(1)类加载器子系统(2)运行时数据区(3)执行引擎1.类加载器子系统Java的动态类加载功能是由类加载器子系统处理。当它在运行时(不是编译时)首次引用一个类时,它加载、链…

发表回复

您的电子邮箱地址不会被公开。

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