1.9 萬 Star!打馬賽克就安全麼?這個「一秒還原」的工具瞭解一下

【導語】:Depix 是用於將數字、字母從像素化的圖片中還原的工具。python

簡介

Depix 是用於將數字、字母從像素化的圖片中還原的Python工具,簡單點說,就是從馬賽克中恢復原始內容,目前有它的一些限制,僅適用於使用線性濾波器建立的像素化圖像。git

許多領域都使用像素化來混淆圖片中的信息,像素化描述了部分下降圖片分辨率以審查信息的過程,Depix的算法使用了線性濾波器的原理,線性濾波器採用一組像素,並用這組像素中全部像素的平均值覆蓋這些像素。線性濾波器是一種肯定性算法,所以對相同值進行像素化將始終產生相同的結果。github

項目地址是:算法

https://github.com/beurtschip...編輯器

安裝使用

  • 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. 限制:該算法經過整數塊邊界匹配。所以,它有一個基本假設,對於全部渲染的字符,文本定位都是在像素級別完成的。

此前已有網友用這個工具作過測試,以下圖:工具

給敏感信息打碼,看來不大管用了。測試

開源前哨 平常分享熱門、有趣和實用的開源項目。參與維護 10萬+ Star 的開源技術資源庫,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。
相關文章
相關標籤/搜索