查看原文
其他

1.9 万 Star!打马赛克就安全么?这个“一秒还原”的工具了解一下

小秋 开源前哨 2021-09-23

【导语】:Depix 是用于将数字、字母从像素化的图片中还原的工具。

简介

Depix 是用于将数字、字母从像素化的图片中还原的Python工具,简单点说,就是从马赛克中恢复原始内容,目前有它的一些限制,仅适用于使用线性滤波器创建的像素化图像。

许多领域都使用像素化来混淆图片中的信息,像素化描述了部分降低图片分辨率以审查信息的过程,Depix的算法使用了线性滤波器的原理,线性滤波器采用一组像素,并用这组像素中所有像素的平均值覆盖这些像素。线性滤波器是一种确定性算法,因此对相同值进行像素化将始终产生相同的结果。


项目地址是:

https://github.com/beurtschipper/Depix

安装使用

  • Clone仓库源码:
git clone https://github.com/beurtschipper/Depix.git
cd Depix
  • 安装依赖:
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
  • 对使用Notepad创建并使用Greenshot像素化的示例图像进行去像素化:
python3 depix.py -p images/testimages/testimage3_pixels.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png



  • 对使用Sublime创建并使用Gimp像素化的示例图像进行去像素化:
python3 depix.py -p images/testimages/sublime_screenshot_pixels_gimp.png -s images/searchimages/debruin_sublime_Linux_small.png --backgroundcolor 40,41,35 --averagetype linear

原理简介

  1. 使用与马赛克图相同的字体设置,包括字体、颜色、大小等,将debruinseq.txt(在源码仓库中有)的内容放到编辑器(例如上面介绍的两个例子,就是分别放到Notepad和Sublime Text)中并截图,截图的结果作为识别搜索的训练数据,用于识别马赛克图中的内容。
  2. 算法利用线性滤波器单独处理每个马赛克块。对于每个块,它将搜索图像中的所有像素化块以检查直接匹配。
  3. 对于大多数像素化图像,Depix设法找到单一匹配结果。算法将周围多个匹配块的进行几何比较,重复该过程输出最终结果。
  4. 限制:该算法通过整数块边界匹配。因此,它有一个基本假设,对于所有渲染的字符,文本定位都是在像素级别完成的。


此前已有网友用这个工具做过测试,如下图:



给敏感信息打码,看来不大管用了。


- EOF - 


更多优秀开源项目(点击下方图片可跳转)




开源前哨

日常分享热门、有趣和实用的开源项目。参与维护10万+star 的开源技术资源库,包括:Python, Java, C/C++, Go, JS, CSS, Node.js, PHP, .NET 等

关注后获取

回复 资源 获取 10万+ star 开源资源



分享点赞在看

支持我们分享更多优秀开源项目,谢谢!

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存