1. 程式人生 > >手把手教你用Python去除馬賽克!

手把手教你用Python去除馬賽克!

有人說,馬賽克是阻礙人類進步的絆腳石,雖然最近幾年也頻繁傳出有在研發去除馬賽克的軟體,但是一直沒有成品問世。

於是人類和馬賽克的鬥爭就從未消停過。各種有亮點的圖片部位,經常被無情地打上馬賽克。在此之前,想完美清除馬賽克幾乎是不可能的,人類的進步一直停留在怎麼打馬賽克和去馬賽克之間。

最近一位程式設計師及經過不斷努力終於完成了這款軟體。據悉,這位程式設計師“deeppomf”用深度神經網路開發出了一個能抹去馬賽克讓原圖重現的神奇程式:DeepCreamPy 。

該專案使用深度完全卷積神經網路(deep fully convolutional neural network),參照了英偉達在今年4月前釋出的一篇論文。當然,英偉達原文的目的可不是用來做羞羞的事情,而是為了復原畫面被單色條帶遮擋的問題。

 

 

 

不過目前該軟體的侷限性還很大,只能完成一些簡單的修復。

例如本文中將原圖在任意位置畫上綠色線條進行打碼後,在通過DeepCreamPy軟體即可進行復原。並且在跟帖中還有不少使用者跟帖晒出了圖片處理的前後效果圖。

為了使這款軟體達到更好的效果,作者在短短几個月內收集了超過10萬張未打碼的原圖,但其中95%的圖片他都沒有仔細看過,只因為太過於浪費時間了。還說自己並不是第一個做這種軟體件的人,卻是第一個堅持下來的人。

從實際效果來看,復原後的圖片塗抹痕跡仍然比較明顯,不過處理線條比較簡單的漫畫可以說是綽綽有餘。

接下來,就是讓你實現心中無碼,眼中自然無碼的教程了。

適用範圍

DeepCreamPy僅適用於薄碼,如果馬賽克太大太厚,去碼可能會失效。另外,它對真人圖片無效。如果你非要嘗試,可以看一下強行使用的效果:

而且DeepCreamPy目前的版本還不能完全自動處理圖片,需要用Photoshop首先對馬賽克部分進行手動預處理。

使用方法

安裝軟體

64位Windows使用者可以直接下載exe程式,資源地址請見附錄。

如果你使用的不是Windows系統,需要自己編譯,程式中已經包含訓練模型,請從壓縮包中提取。

編譯程式碼需要一下元件:

  • Python 3.6
  • TensorFlow 1.10
  • Keras 2.2.4
  • Pillow
  • h5py

Tensorflow、Keras、Pillow、和h5py可以使用pip安裝:

$ pip install -r requirements.txt

請注意軟體版本,Windows上的TensorFlow不相容Python 2,也不相容Python 3.7。

手動處理黑條遮擋和馬賽克遮擋

對於你想修復的每個影象,使用影象編輯軟體(如 Photoshop 或 GIMP)將你想修復的區域的顏色塗成綠色 (0,255,0)。強烈推薦使用鉛筆工具,不要用刷子。如果你沒用鉛筆,那麼確保你所使用的工具關閉了抗鋸齒(ANTI-ALIASING)功能。

使用 wand selection 工具(關閉了抗鋸齒功能)來選擇空缺區域。然後稍微擴充套件選中區域,並在選中區域上使用綠色 (0,255,0) 的油漆桶工具。

要在 Photoshop 中擴充套件選中區域,可以執行該操作:Selection > Modify > Expand 或 Contract。要在 GIMP 中擴充套件選中區域,可執行該操作:Select > Grow。將這些影象儲存為 PNG 格式,並儲存到 decensor_input 資料夾中。

  • A. 使用二進位制編譯檔案(Windows)
  • 雙擊 decensor 檔案來修復影象。
  • B. 從頭開始執行
  • 執行以下行進行影象修復:
  • $ python decensor.py
  • 修復後圖像將儲存至 decensor_output 資料夾。每張影象的修復需要幾分鐘。

如果敏感部位不是黑條,而是馬賽克,還需要將未上色的原始圖片放入”decensor_input_original” 資料夾中,並確保其檔名和放在”decensor_input”中的預處理圖片檔名相同。

執行去馬賽克軟體

  • A. 使用exe直接處理

 

雙擊軟體即可

  • B. 命令列處理

 

對於黑條遮擋的圖片,輸入以下命令:

$python decensor.py

對於馬賽克遮擋的圖片,輸入以下命令:

$python decensor.py —is_mosaic=True

注意事項

如果你圖片處理後成了這樣:

 

 

 

一定是你處理的姿勢不對,請注意不要犯以下兩種錯誤:

 

 

 

 

 

 

 

 

 

 

 

第一幅圖中,圖片馬賽克區域沒有完全塗滿;第二幅圖中,由於開啟了抗鋸齒功能,導致馬賽克邊緣區域不是純綠色填充,請關閉抗鋸齒功能!!

最後附上軟體地址下載地址,請享受吧。

資源地址

 

 

 

文章到此就高一段落了,喜歡本文的小夥伴可以轉發,或點波關注喔!

本文來自網路,如有侵權,請聯絡小編刪除!