查看原文
其他

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

The following article is from 开源前哨 Author 小秋

【导语】: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 -

推荐阅读  点击标题可跳转

1、2.3 万 Star!直追微软 Visio,这个简洁实用的在线绘图工具必须推荐给你

2、微软又一个数据可视化神器开源了!非常酷炫

3、一代传奇!经典播放器 Winamp 的开源实现


觉得本文对你有帮助?请分享给更多人

推荐关注「Python开发者」,提升Python技能

点赞和在看就是最大的支持❤️

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

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