☞ ░ 前往老猿Python博文目錄 ░
一、引言
對於帶Logo(如抖音Logo、電視臺標)的視頻,有三種方案進行Logo消除:
- 直接將對應區域用對應圖像替換;
- 直接將對應區域模糊化;
- 通過變換將要去除部分進行填充。
其中:
方法1又可以使用三種方法,一是使用某固定圖像替換、二是截取視頻某幀的一部分圖像替換、三是用每幀固定區域的圖像替換當前幀的Logo區域,其中固定圖像替換最簡單,下面就不展開介紹;截取視頻某幀的一部分圖像比較簡單,用每幀固定區域的圖像替換當前幀的Logo區域最複雜;
方法2可以認爲是方法3的特例,即填充值來源於簡單計算,如Logo區域像素的均值等,我們在此不進行介紹。
方法3是以Logo去除後根據原Logo區域附近的圖像像素對Logo區域進行插值填充,以確保填充後的圖像整體比較協調、完整。
二、需要解決的問題
- 怎麼確認Logo區域?當然是使用鼠標選擇確認Logo區域最方便;
- 使用圖像去替換Logo區域時,在鼠標選擇過程中怎麼確保替換圖像大小與被替換圖像大小一致?這個需有將替換圖像進行裁剪或填充;
- 通過變換將要去除部分進行填充時,怎麼確保填充值與整體視頻比較協調?本文采用根據Logo鄰近像素進行插值填充
- 對於抖音這種在晃動的Logo怎麼修復?老猿採用多次取樣Logo區域來修復。
三、背景知識
3.1、OpenCV視頻預覽方法
可以通過cv2.imshow(winname, i