Python音視頻開發:消除抖音短視頻Logo和去電視臺標的實現詳解

☞ ░ 前往老猿Python博文目錄

一、引言

對於帶Logo(如抖音Logo、電視臺標)的視頻,有三種方案進行Logo消除:

  1. 直接將對應區域用對應圖像替換;
  2. 直接將對應區域模糊化;
  3. 通過變換將要去除部分進行填充。

其中:
方法1又可以使用三種方法,一是使用某固定圖像替換、二是截取視頻某幀的一部分圖像替換、三是用每幀固定區域的圖像替換當前幀的Logo區域,其中固定圖像替換最簡單,下面就不展開介紹;截取視頻某幀的一部分圖像比較簡單,用每幀固定區域的圖像替換當前幀的Logo區域最複雜;

方法2可以認爲是方法3的特例,即填充值來源於簡單計算,如Logo區域像素的均值等,我們在此不進行介紹。

方法3是以Logo去除後根據原Logo區域附近的圖像像素對Logo區域進行插值填充,以確保填充後的圖像整體比較協調、完整。

二、需要解決的問題

  1. 怎麼確認Logo區域?當然是使用鼠標選擇確認Logo區域最方便;
  2. 使用圖像去替換Logo區域時,在鼠標選擇過程中怎麼確保替換圖像大小與被替換圖像大小一致?這個需有將替換圖像進行裁剪或填充;
  3. 通過變換將要去除部分進行填充時,怎麼確保填充值與整體視頻比較協調?本文采用根據Logo鄰近像素進行插值填充
  4. 對於抖音這種在晃動的Logo怎麼修復?老猿採用多次取樣Logo區域來修復。

三、背景知識

3.1、OpenCV視頻預覽方法

可以通過cv2.imshow(winname, i

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章