去除水印代碼


材料網站上大多數下載的視頻都保留了水印,使用這些視頻對用戶產生了較大的干擾,很不方便,需要用某種方法盡可能地去除。參考資料顯示,視頻去水印有以下幾種常見方法:
剪裁視頻空間區域,只保留干凈的部分,當水印 logo出現在視頻的邊角時比較合適,如優酷視頻、騰訊視頻以及電視台 logo等。盡管這樣會損失一部分內容,但多數情況下能夠保留大部分內容,可以使用格式工廠、狸窩等視頻編輯軟件來完成操作。這種處理方法比較常見,用戶還經常在原來的水印區域添加新的水印 orz...,當水印被水印覆蓋的區域較光滑時,這一處理方式比較常見,用戶還經常會在原來的水印區域添加新的水印 orz...,當水印遮蓋的區域較光滑時,這一處理方法也會丟失 logo下的細節,可以用愛剪輯的方式添加新的水印。我們知道,最好的算法是基於(成熟)去水印算法,在 Google論文《On the Effectiveness of VisibleWatermarks中提到的優化算法,該算法對圖片水印進行處理,當水印在多個圖之間完全相同時有奇效,水印去水印完全相同時有奇效,但是可以考慮在稍微降低品質的條件下對該算法進行優化。對水印進行簡單粗暴的刪除,獲取一段視頻,想方設法得到水印圖片,假設透明度為,通過加水印的反向操作,得到大致無水印的結果,這種方法不能去除水印,但是如果不仔細觀察,剩余部分就不會很明顯。
就我遇到的情況而言,不同網站上主要有五種水印,模糊處理成本很高, Google的算法速度太慢,實踐起來困難不少,沒有進行過多的研究,如圖1-5所示為水印減除前后效果
圖中經常有多余的信息,如水印等,常常困擾了多少痴男怨女。
看到簡書中有趣的一段內容。所以就把它拿來做吧。
去除水印的要害
#圖片二值化,將顏色變為0 [200,200,200]-[250,250,250]
thresh=cv2.in Ra nge (img,np.ar ray ([200,200,200]),np.ar ray ([250,250,250]))
重點是如何選擇區間以外的顏色,使顏色由0變為0。
再試試幾次。
其顏色是紅色、黃色和藍色。數值為0-255。每個通道的數值越大,顏色塊的組合就越明亮。該值越小越暗。若水印與圖片其他部分存在明顯差距,還是能找到的,效果應該也可以。
沒有對 CV進行研究,就無法給出更好的方案。
隨機應變學習下 CV

import cv2
import numpy as np

path="10.jpg"

img=cv2.imread(path,1)

hight,width,depth=img.shape[0:3]
#hight=img.shape[0]
#width=img.shape[1]
#depth=img.shape[2]
#圖片二值化處理,把[200,200,200]-[250,250,250]以外的顏色變成0
thresh=cv2.inRange(img,np.array([200,200,200]),np.array([250,250,250]))
#創建形狀和尺寸的結構元素
kernel=np.ones((3,3),np.uint8)
#擴展待修復區域
hi_mask=cv2.dilate(thresh,kernel,iterations=1)
specular=cv2.inpaint(img,hi_mask,5,flags=cv2.INPAINT_TELEA)

cv2.namedWindow("image",0)
cv2.resizeWindow("image",int(width/2),int(hight/2))
cv2.imshow('image',img)

cv2.namedWindow('newimage',0)
cv2.resizeWindow('newimage',int(width/2),int(hight/2))
cv2.imshow('newimage',specular)

cv2.waitKey(0)
cv2.destroyAllWindows()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM