马赛克还原神器—Depix,真的有那么神吗?「建议收藏」

马赛克还原神器—Depix,真的有那么神吗?「建议收藏」Depix是用于从马赛克中还原密码/英文数字组合的Python工具。它的官方效果是这样的:效果非常令人惊艳,恢复后基本和原文图相差无几。但是真的有那么神吗?老规矩,需要打包好的软件关注小编,QQ群:721195303领取。01怎么做到的?第一步,作者在编辑器中使用了与原图(带有马赛克的图片)相同的字体设置(文本大小,字体,颜色等设置),然后将debruinseq.txt内的文字和数字放入编辑器中并截图,这张截图中的所有文字都将被像素化后作为“搜索集”来识别原图中马赛克的真实..

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

Depix 是用于从马赛克中还原密码/英文数字组合的Python工具。

它的官方效果是这样的:

图片

效果非常令人惊艳,恢复后基本和原文图相差无几。但是真的有那么神吗?

老规矩,需要打包好的软件关注小编,QQ群:721195303领取。

01

怎么做到的?

第一步,作者在编辑器中使用了与原图(带有马赛克的图片)相同的字体设置(文本大小,字体,颜色等设置),然后将 debruinseq.txt 内的文字和数字放入编辑器中并截图,这张截图中的所有文字都将被像素化后作为“搜索集”来识别原图中马赛克的真实内容:

图片

第二步,将原图中的马赛克方块切出来成为一个个单个矩形,然后这些矩形将与“搜索集”中的每个块进行比对,找到最正确的结果。

第三步,在对应位置上对搜索集和原图中周围方块的匹配进行几何比较找到最短距离,重复此过程几次,找到最优结果。

接下来,让咱们试试这个Depix,看看是不是真的那么神。

02

安装依赖

开始之前,你要确保Python和pip已经成功安装在电脑上

为了使用该项目的源代码,请前往GitHub下载:
https://github.com/beurtschipper/Depix

如果你访问不了GitHub或网速过慢,可以在Python实用宝典公众号后台回复:depix 下载 (当然,这玩意你下载下来也没用)。

解压下载好的文件得到 Depix-main 文件夹,在命令行中 cd 进入 Depix-main 文件夹,输入命令安装依赖:

pip install -r requirements.txt

 

03

试一试

 

首先试一下作者的示例,在Depix-main文件夹下运行以下命令,采用作者的打码图作为识别的目标对象:

images/testimages/testimage3_pixels.png

 

图片
 

使用作者生成好的图片作为“搜索集”:

images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png

 

图片

运行以下命令开始识别:

python depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png

 

识别结束后会在当前文件夹生成 output.png

图片

效果还不错,但这是作者提供的图片,如果是我们自己的图片呢?

比如我在编辑器中键入这样的文字再打码,它能识别到吗:

图片

打码:

图片

先使用作者的“搜索集”来解码:

python depix.py -p G:\push210114\test.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o output.png

 

结果出来的图基本和打码图没什么变化,基本无效果

 

我以为是“搜索集”的问题,比如字体不一样导致无法识别成功。

 

因此我学作者制作了一个“搜索集”:

 

图片
 

然后使用这个搜索集再进行识别:

python depix.py -p G:\push210114\test.png -s G:\push210114\train1.png -o output.png

 

依然没有识别成功,出来的结果还是和原图差不多,马赛克基本没少。

后面又试了几次,均没有识别成功。

 

04

为什么我的马赛克无法被识别?

于是我想知道为什么会这样,就用我自己的马赛克工具和作者打的马赛克做了对比:
 

图片

 

我发现,使用我的马赛克图像去进行识别的时候,一样没有任何效果。但是识别作者的马赛克图像,效果却很好。

这时候我有理由相信这个算法发生了“过拟合”,作者对“搜索集”的每个区块进行打码,这个打码的风格是有一定特征的,如果被识别对象的马赛克不符合这个风格,那识别大概率会失败。

所以被识别对象的马赛克一定要符合“搜索集”的打码风格,这样才能被准确地识别出来。换成其他算法生成的马赛克,作者的模型都可能会失效,就比如我刚刚试的那些例子。

尽管如此,随着技术的进步,在未来类似这样的解码器肯定会越来越强大,所以建议大家还是将马赛克打得厚一点,最好是一整块地填充图像破坏原图,这样才不用担心密码被还原之类的事情,比如下面这样才是最安全的。

马赛克还原神器—Depix,真的有那么神吗?「建议收藏」

在这里还是要推荐下我自己建的Python学习群:721195303,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!

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

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

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

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

(2)
blank

相关推荐

  • C/C++数组初始化的一些误区

    C/C++数组初始化的一些误区以前我这样初始化一个数组,并自我感觉良好:inta[5]={0};//全部初始化为0这种简单的写法让我非常爽,于是我又想把数组全部初始化为1:inta[5]={1};//我想全部初始化为1直到十分钟前,我都以为这句代码确实能够将5个元素全部初始化为1,但事实跟我想的完全不同!(基础的东西革命的本钱,疏漏不得啊)全部初始化为0的那行代码确实是没问题的,可以

  • 数仓建设 | ODS、DWD、DWM等理论实战(好文收藏)

    数仓建设 | ODS、DWD、DWM等理论实战(好文收藏)本文目录:一、数据流向二、应用示例三、何为数仓DW四、为何要分层五、数据分层六、数据集市七、问题总结导读数仓在建设过程中,对数据的组织管理上,不仅要根据业务进行纵向的主题域划分,还需要横向的数仓分层规范。本文作者围绕企业数仓分层展开分析,希望对你有帮助。因文章太长,本文不是完结版,文末可获取完整PDF版从事数仓相关工作的人员都知道数仓模型设计的首要工作之一就是进行模型分层,可见模型分层在模型设计过程中的重要性,确实优秀的分层设计是一个数仓项目能否建设成功的核心要素,让数

  • 杂项-黑苹果安装教程「建议收藏」

    杂项-黑苹果安装教程「建议收藏」说明黑苹果安装步骤笔记准备工作:一台电脑(预装Win10),一个8g及以上的U盘(10.15+版本的系统需要更大的U盘),一块硬盘或一个30g以上的分区,一双手,一个大脑。测试用例主要硬件机器:台式组装机主板:技嘉h110m-SCPU:3.19GHzIntelCorei5显卡:IntelHDGraphics530+NVIDIAGeForceGT730硬盘:GALAXTA1D0120A+西数机械盘500G网卡:RealtekRTL8168G/81

  • 论述人工智能,大数据,云计算之间的关系_物联网大数据人工智能的关系

    论述人工智能,大数据,云计算之间的关系_物联网大数据人工智能的关系1、云计算信息产业三大革命个人计算机革命、互联网革命和云计算革命。互联网革命:1990年,将终端计算设备连接起来,实现了信息的发布、检索和共享,极大提高了沟通和协作的效率。云计算革命:2006年,云计算的计算能力变成了一种公共服务,云计算通过集中供应、按需供应的模式,打破了时空限制,真正实现了信息化。三次革命让信息普及程度和社会生产效率得到了极大提升。云计算的应用,颠覆了信息产业从产品销售到服务输出的原有商业模式,极大加速了信息产业规模化、专业化、精细化、自主化的发展进程。云计算的概

  • pytorch实现L2和L1正则化regularization的方法

    pytorch实现L2和L1正则化regularization的方法pytorch实现L2和L1正则化的方法目录目录pytorch实现L2和L1正则化的方法1.torch.optim优化器实现L2正则化2.如何判断正则化作用了模型?2.1未加入正则化loss和Accuracy2.1加入正则化loss和Accuracy2.3正则化说明3.自定义正则化的方法3.1自定义正则化Regularization类3.2…

  • mybatiscodehelperpro2.9.4-183-204在线激活码(JetBrains全家桶)2022.02.05

    (mybatiscodehelperpro2.9.4-183-204在线激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~76…

发表回复

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

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