Python黑科技神奇去除馬賽克

2022-08-18 16:24:16 字數 742 閱讀 7586

修復程式-可用於水印去除

在現實的生活中,我們可能會遇到一些美好的或是珍貴的被雜訊干擾,比如舊**的摺痕,比如鏡頭上的灰塵或汙漬,更或者是某些我們想為我所用但有討厭水印,那麼有沒有一種辦法可以消除這些雜訊呢?

答案是肯定的,依然是被我們用了無數次的opencv這款優秀的框架。

效果預覽

修復原理

那opencv究竟是怎麼實現的,簡單的來說就是開發者標定雜訊的特徵,在使用雜訊周圍的顏色特徵推理出應該修復的的顏色,從而實現修復的。

程式實現解析

標定雜訊的特徵,使用cv2.inrange二值化標識雜訊對進行二值化處理,具體**:cv2.inrange(img, np.array([240, 240, 240]), np.array([255, 255, 255])),把[240, 240, 240]~[255, 255, 255]以外的顏色處理為0;

使用opencv的dilate方法,擴充套件特徵的區域,優化處理效果;

使用inpaint方法,把雜訊的mask作為引數,推理並修復;

完整**

Python黑科技 賦值技巧

乙個變數乙個值 正常賦值 v 1 結果,v 1 多個變數乙個值 連續賦值 x y z 0 結果,x 0,y 0,z 0 注意 所賦值不要是可變物件 x y z python的變數名只是代號 x y z 都指向同乙個 x 變化時,y 和 z 也會變化 乙個變數多個值 序列打包 t 1,2,3 首先,p...

Python實用黑科技 找出最大 最小的n個元素

需求 快速的獲取乙個列表中最大 最小的n個元素。方法 最簡便的方法是使用heapq模組的兩個方法nlargest 和nsmallest 例如 in 1 import heapq in 2 nums 1,0,23,45,34,11,0,2,99,103,78 in 3 print heapq.nlar...

Python 四種執行其他程式的黑科技

在python中,可以方便地使用os模組來執行其他指令碼或者程式,這樣就可以在指令碼中直接使用其他指令碼或程式提供的功能,而不必再次編寫實現該功能的 為了更好地控制執行的程序,可以使用win32process模組中的函式,如果想進一步控制程序,則可以使用ctype模組,直接呼叫kernel32.dl...