Depix 還原馬賽克工具的試用及總結

2021-10-12 04:12:51 字數 2002 閱讀 1252

一周前發現git上有個叫depix的專案非常火,可以用來去除馬賽克。

好奇之下準備下來試用一下這個工具

參考:演算法說明:

de bruijn序列:

depix適用於使用線性框過濾器(linear box filter)建立的畫素化(馬賽克)影象

使用方法:

從螢幕快照中將畫素化的塊切出為單個矩形。

製作序列的螢幕截圖。如果可能,請使用與建立畫素化影象相同的螢幕截圖工具。

執行 python depix.py -p [pixelated rectangle image] -s [search sequence image] -o output.png

depix使用的演算法利用了線性盒式濾波器分別處理每個塊的事實。對於每個塊,它將對搜尋影象(search image)中的所有塊進行畫素化以檢查直接匹配。

對於大多數畫素化影象,depix設法找到單匹配結果。假設這些是正確的。然後,將周圍的多匹配塊的匹配進行比較,以在幾何上與畫素化影象中的距離相同的距離進行比較。匹配也被視為正確。重複此過程幾次。

正確的塊不再具有幾何匹配之後,它將直接輸出所有正確的塊。對於多匹配塊,它輸出所有匹配的平均值。

說的簡單一點

首先我們要建立乙份預期字元的de bruijn序列影象(search image)

比如我們知道打了馬賽克的字元可能出現abc三種字元 那麼他的de bruijn序列為

aabacbbcca

這個序列包含了所有長度為2的字元組合可能性

而對於線性框濾鏡演算法,它採用乙個畫素框,然後用該框中所有畫素的平均值覆蓋畫素。

那麼將相同的值進行畫素化將始終導致相同的畫素化塊。

這樣一來我們就可以在序列影象中進行畫素化 將得到的畫素化結果與馬賽克影象比較

通過窮舉來得到最近似的結果

python depix.py -p [pixelated rectangle image] -s [search sequence image] -o output.png

作者提供的序列影象(search image)

這個影象中包含了數字、英文本元、標點符號等各種兩兩出現的可能性 用於搜尋匹配

下面是跑了作者測試用例的結果

測試1馬賽克影象

還原影象

測試2馬賽克影象

還原影象

測試3馬賽克影象

還原影象

對於作者提供的這三個例子,我們可以發現還原的結果還是不錯的

這裡我建立了乙份序列影象(search image) [字元a-z]

並且在同樣的編輯器(記事本)內寫了一串字元(eggbed)

畫素化還原

額。。。顯然對於自己的序列影象 實驗失敗了

原因猜測:

有可能是因為在畫素化時使用的並非是作者要求的線性濾波器[我只是用了美圖秀秀的馬賽克]

從而導致了無法匹配

之後有空再試一下吧~~

在剛開始看到這個工具時 感覺很厲害竟然能夠還原馬賽克影象

看了一遍之後才發現 對於實現這個功能 限制條件還是很多的

尤其是你需要知道馬賽克原始字元會有哪些可能

並且你的序列影象需要與馬賽克影象原本的字元擁有相同字型設定(文字大小,字型,顏色,hsl)

總之 對於隨手打了馬賽克後的一串文字 就想用這個工具來去掉馬賽克 這是不現實的有困難的 [話不能說死]

而作者在說明之中也是說的很清楚這個工具的適用範圍

更不要說是打了馬賽克的了。

以上~

馬賽克 窺探馬賽克背後的藝術

馬賽克在現在網路用語中的含義是遮擋不該看的畫面,哈哈!但小北今天要給大家介紹馬賽克的本義以及其在家裝設計中的運用。馬賽克 mosaic 建築上用於拼成各種裝飾圖案用的片狀小瓷磚,是瓷磚的一種,它是一種特殊存在方式的磚,而且還有乙個好聽的專業名稱叫錦磚。如今馬賽克漸漸融入室內設計中,今天小北就帶大家一...

讓mc出現馬賽克的函式

color 000000 import flash.display.bitmapdata import flash.geom.matrix 轉為馬賽克 author www.fanflash.cn version 0.1 sourcemc 源影象mc p 馬賽克程度引數 function mosai...

C 處理數碼相片之馬賽克的實現

應聽眾點播要求,今天講講馬賽克演算法的實現。老規矩,不求甚解,只許看不許問為什麼 很多處理的演算法從原理上講其實非常簡單,難點往往在如何去寫演算法實現它,更加難的就是如何去優化實現的演算法。雖說我一向認為程式設計師的效率比程式 的效率更重要,但為了等處理一張自己拍攝的數碼 溜出去買杯奶茶順便再買張彩...