利用python?OpenCV去除視頻水印

上面的圖片展示的是視頻中的某一幀,需要將圖片中的,實(shí)體拓展和退出全屏以及右上角的兩個圓圈按鈕給刪除掉。
解決思路
一個很簡單的想法就是,從圖片上其它兩塊背景相同的地方,拷貝兩個塊替換掉按鈕位置的塊
用下面的代碼先從視頻中導(dǎo)出一幀圖片,然后統(tǒng)計(jì)需要刪除按鈕的坐標(biāo)位置
實(shí)現(xiàn)代碼如下:
import cv2
# 創(chuàng)建讀取視頻的類
capture = cv2.VideoCapture("watermark.mp4")
# 得到視頻的高度
height = capture.get(cv2.CAP_PROP_FRAME_HEIGHT)
# 得到視頻的寬度
width = capture.get(cv2.CAP_PROP_FRAME_WIDTH)
# 得到視頻的幀數(shù)
count = capture.get(cv2.CAP_PROP_FRAME_COUNT)
# 得到視頻的幀速
fps = capture.get(cv2.CAP_PROP_FPS)
# 對視頻中的每一幀圖像做處理的函數(shù)
def process_fun(image):
? ? #去除視頻的水印
? ? #需要注意的是第一個范圍是y軸坐標(biāo)的范圍,第二個是x軸坐標(biāo)的范圍
? ? image[380:511,1070:1212] = image[100:231,1070:1212]
? ? image[8:63,1111:1275] = image[8:63,800:964]
? ? return image
#保存MP4的視頻
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
# 創(chuàng)建寫入視頻的類
out_video = cv2.VideoWriter()
out_video.open('processed_video.mp4',fourcc,fps,(int(width), int(height)),True)
while(True):
? ? # 讀取視頻中的每一幀
? ? ret, frame = capture.read()
? ? # 如果該幀存在則進(jìn)行操作
? ? if ret is True:
? ? ? ? # 對輸入的每一幀圖像處理
? ? ? ? result = process_fun(frame)
? ? ? ? # 保存已經(jīng)處理后的每一幀圖像
? ? ? ? out_video.write(result)
? ? ? ? #cv2.imwrite("precessed.jpg",result)
? ? # 如果該幀不存在則循環(huán)結(jié)束
? ? else:
? ? ? ? break
out_video.release()注意:上面讀取和保存視頻的格式是mp4的,如果是avi格式化的視頻需要修改VideoWriter_fourcc參數(shù)
到此這篇關(guān)于利用python OpenCV去除視頻水印的文章就介紹到這了,更多相關(guān)python OpenCV給視頻去除水印內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)直方圖均衡基本原理解析
這篇文章主要介紹了Python實(shí)現(xiàn)直方圖均衡基本原理,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-08-08
Python動態(tài)參數(shù)/命名空間/函數(shù)嵌套/global和nonlocal
這篇文章主要介紹了Python動態(tài)參數(shù)/命名空間/函數(shù)嵌套/global和nonlocal,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-05-05
Django執(zhí)行python?manage.py?makemigrations報(bào)錯的解決方案分享
相信用過很多Django makemigrations的人都會遇到過makemigrations時會發(fā)生報(bào)錯,下面這篇文章主要給大家介紹了關(guān)于Django執(zhí)行python?manage.py?makemigrations報(bào)錯的解決方案,需要的朋友可以參考下2022-09-09
詳細(xì)解讀Python的web.py框架下的application.py模塊
這篇文章主要介紹了Python的web.py框架下的application.py模塊,作者深入分析了web.py的源碼,需要的朋友可以參考下2015-05-05
Python實(shí)現(xiàn)連通域標(biāo)記算法
如果把圖像分為前景和背景兩部分,那么連通域就是連通在一起的前景,這種關(guān)系對于二值圖像來說比較明顯,下面我們就來了解一下連通域標(biāo)記算法原理及其Python實(shí)現(xiàn)吧2023-12-12
淺析python表達(dá)式4+0.5值的數(shù)據(jù)類型
在本篇文章里小編給大家整理的是一篇關(guān)于python表達(dá)式4+0.5值的數(shù)據(jù)類型的知識點(diǎn)內(nèi)容,需要的的朋友們學(xué)習(xí)下。2020-02-02

