Python音视频开发:消除抖音短视频Logo和去电视台标的实现详解

☞ ░ 前往老猿Python博文目录

1、引言

对于带Logo(如抖音Logo、电视台标)的视频,有三种方案进行Logo消除:web

  1. 直接将对应区域用对应图像替换;
  2. 直接将对应区域模糊化;
  3. 经过变换将要去除部分进行填充。

其中:
方法1又能够使用三种方法,一是使用某固定图像替换、二是截取视频某帧的一部分图像替换、三是用每帧固定区域的图像替换当前帧的Logo区域,其中固定图像替换最简单,下面就不展开介绍;截取视频某帧的一部分图像比较简单,用每帧固定区域的图像替换当前帧的Logo区域最复杂;svg

方法2能够认为是方法3的特例,即填充值来源于简单计算,如Logo区域像素的均值等,咱们在此不进行介绍。.net

方法3是以Logo去除后根据原Logo区域附近的图像像素对Logo区域进行插值填充,以确保填充后的图像总体比较协调、完整。code

2、须要解决的问题

  1. 怎么确认Logo区域?固然是使用鼠标选择确认Logo区域最方便;
  2. 使用图像去替换Logo区域时,在鼠标选择过程当中怎么确保替换图像大小与被替换图像大小一致?这个需有将替换图像进行裁剪或填充;
  3. 经过变换将要去除部分进行填充时,怎么确保填充值与总体视频比较协调?本文采用根据Logo邻近像素进行插值填充
  4. 对于抖音这种在晃动的Logo怎么修复?老猿采用屡次取样Logo区域来修复。

3、背景知识

3.一、OpenCV视频预览方法

能够经过cv2.imshow(winname, i视频