利用python?OpenCV去除視頻水印
上面的圖片展示的是視頻中的某一幀,需要將圖片中的,實(shí)體拓展和退出全屏以及右上角的兩個(gè)圓圈按鈕給刪除掉。
解決思路
一個(gè)很簡(jiǎn)單的想法就是,從圖片上其它兩塊背景相同的地方,拷貝兩個(gè)塊替換掉按鈕位置的塊
用下面的代碼先從視頻中導(dǎo)出一幀圖片,然后統(tǒng)計(jì)需要?jiǎng)h除按鈕的坐標(biāo)位置
實(shí)現(xiàn)代碼如下:
import cv2 # 創(chuàng)建讀取視頻的類(lèi) 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) # 對(duì)視頻中的每一幀圖像做處理的函數(shù) def process_fun(image): ? ? #去除視頻的水印 ? ? #需要注意的是第一個(gè)范圍是y軸坐標(biāo)的范圍,第二個(gè)是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)建寫(xiě)入視頻的類(lèi) 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: ? ? ? ? # 對(duì)輸入的每一幀圖像處理 ? ? ? ? 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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)直方圖均衡基本原理解析
這篇文章主要介紹了Python實(shí)現(xiàn)直方圖均衡基本原理,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-08-08Python動(dòng)態(tài)參數(shù)/命名空間/函數(shù)嵌套/global和nonlocal
這篇文章主要介紹了Python動(dòng)態(tài)參數(shù)/命名空間/函數(shù)嵌套/global和nonlocal,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-05-05Django執(zhí)行python?manage.py?makemigrations報(bào)錯(cuò)的解決方案分享
相信用過(guò)很多Django makemigrations的人都會(huì)遇到過(guò)makemigrations時(shí)會(huì)發(fā)生報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于Django執(zhí)行python?manage.py?makemigrations報(bào)錯(cuò)的解決方案,需要的朋友可以參考下2022-09-09詳細(xì)解讀Python的web.py框架下的application.py模塊
這篇文章主要介紹了Python的web.py框架下的application.py模塊,作者深入分析了web.py的源碼,需要的朋友可以參考下2015-05-05Python實(shí)現(xiàn)連通域標(biāo)記算法
如果把圖像分為前景和背景兩部分,那么連通域就是連通在一起的前景,這種關(guān)系對(duì)于二值圖像來(lái)說(shuō)比較明顯,下面我們就來(lái)了解一下連通域標(biāo)記算法原理及其Python實(shí)現(xiàn)吧2023-12-12淺析python表達(dá)式4+0.5值的數(shù)據(jù)類(lèi)型
在本篇文章里小編給大家整理的是一篇關(guān)于python表達(dá)式4+0.5值的數(shù)據(jù)類(lèi)型的知識(shí)點(diǎn)內(nèi)容,需要的的朋友們學(xué)習(xí)下。2020-02-02