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/147449.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月30日 上午9:36
下一篇 2022年6月30日 上午9:36


相关推荐

  • WXS 模块

    WXS 模块WXS 代码可以编写在 wxml 文件中的 nbsp nbsp 标签内 或以 nbsp wxs nbsp 为后缀名的文件内 模块每一个 nbsp wxs nbsp 文件和 nbsp nbsp 标签都是一个单独的模块 每个模块都有自己独立的作用域 即在一个模块里面定义的变量与函数 默认为私有的 对其他模块不可见 一个模块要想对外暴露其内部的私有变量与函数 只能通过 nbsp module exports nbsp 实现 wxs 文件在微信开发者工具里面 右

    2025年11月8日
    11
  • ASP.NET GridView 内嵌 DropDownList 绑定数据「建议收藏」

    ASP.NET GridView 内嵌 DropDownList 绑定数据「建议收藏」aspx页面代码:’DataValueField=”Val”DataTextField=”Text”>

    2022年10月8日
    4
  • Vue实现文件上传和文件下载

    Vue实现文件上传和文件下载文件下载:文件下载通常有几种方法1.通过url下载2.location.href3.form提交直接下载4.HTML5a.download结合blob对象进行下载第一种方式:第一种方法是前后端的接口只给了一个API请求:前端第一个实现是使用a标签,第二种方式:这个方法是直接把DataURLs或者BlogURLs传到浏览器地址中触发下载。有两种…

    2022年7月15日
    28
  • Java操作MongoDB

    Java操作MongoDB

    2022年3月12日
    65
  • ostaskcreate函数作用_认识上中下

    ostaskcreate函数作用_认识上中下OSTaskCreate()是学习ucos-Ⅱ操作系统的第一个函数,费了九牛二虎之力,现在感觉差不多可以过了。#ifOS_TASK_CREATE_EN>0INT8UOSTaskCreate(void(*task)(void*p_arg),void*p_arg,OS_STK*ptos,INT8Uprio)/*1*/{ OS_STK…

    2025年9月17日
    7
  • CA-CFAR代码实现

    CA-CFAR代码实现clearall clc closeall 仿真数据 T 0 25 M 100 tc T M fc 1 tc 一个扫频周期 T 为 250ms M 为每个周期采样点 100 fc 采样频率 N 256 n 1 N 一个相关积累时间 64 fw 10 雷达工作频率 10MHzfb 0 102 sqrt fw bragg 频率

    2025年9月21日
    5

发表回复

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

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