moviepy音视频剪辑:视频半自动追踪人脸打马赛克
一、引言
在《moviepy1.03音视频剪辑:使用manual_tracking和headblur实现追踪人脸打马赛克》介绍了使用手动跟踪跟踪人脸移动轨迹和使用headblur对人脸进行打马赛克。
实际上,moviepy除了使用manual_tracking手动追踪,另外还提供了autoTrack自动追踪的方式,该方式提供需要匹配的跟踪对象的图像数组,自动在剪辑对应帧中去查找跟踪对象。对于一个较长的剪辑来说,自动追踪可以避免选择多个帧来手动跟踪目标对象。
对一个较长剪辑来说,结合手动跟踪和自动跟踪实现一种半自动跟踪的方式追踪人脸打马赛克是一种相对来说节约操作时间的方式,本文将介绍这种方式的实现。
二、实现思路
要实现半自动跟踪,首先必须取得匹配的模板图像,半自动跟踪的思路就是通过手工方式获取需要跟踪的模板图像。具体实现步骤如下:
1、确认视频中需要跟踪对象的关键位置时间点,这些点跟踪对象的人脸图像较前一刻有比较大的变化,如正脸、侧脸、大图像、小图像等情况。将这些点(t1、t2、t3…,tn)分别作为手动跟踪选择目标对象的关键点;
2、对每个关键点调用manual_tracking获取跟踪对象的中心位置,并将对应范围的图像记录到需要匹配的模板图像列表中;
3、将要跟踪剪辑的时间段(traceStartPos----traceEndPos)按照关键点分隔成多个剪辑,分别与上步保存的模板图像进行匹配跟踪和模糊化,得到的新剪辑进行保存;
4、将模糊后的所有剪辑进行拼接,并与原剪辑中没进行模糊化的部分进行拼接,最后输出新剪辑即是半自动人脸根据并打马赛克的剪辑。
三、实现代码
3.1、获取跟踪对象指定时刻跟踪位置对应图像
moviepy音视频剪辑:视频半自动追踪人脸打马赛克的更多相关文章
- moviepy音视频剪辑:使用autoTrack、manual_tracking+headblur实现半自动追踪人脸打马赛克
一.引言 在<moviepy1.03音视频剪辑:使用manual_tracking和headblur实现追踪人脸打马赛克>介绍了使用手动跟踪跟踪人脸移动轨迹和使用headblur对人脸进行 ...
- moviepy1.03音视频剪辑:使用manual_tracking和headblur实现追踪人脸打马赛克
☞ ░ 前往老猿Python博文目录 ░ 一.引言 在moviepy官网的案例<Tracking and blurring someone's face>和CSDN的moviepy大神uc ...
- moviepy音视频剪辑:追踪人脸打马赛克的三种实现方式
☞ ░ 前往老猿Python博文目录 ░ 一.引言 在moviepy官网的案例<Tracking and blurring someone's face>和CSDN的moviepy大神uc ...
- Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载
☞ ░ 前往老猿Python博文目录 ░ 一.简介 MoviePy是一个用于视频编辑的Python模块,可用于进行视频的基本操作(如剪切.拼接.标题插入).视频合成(也称非线性编辑).视频处理或创建高 ...
- moviepy音视频剪辑:视频变换处理与内容相关的变换函数headblur、mask_and/or、mirror_x/y、rotate、painting、scroll介绍
一.引言 在<moviepy音视频剪辑:moviepy中的剪辑基类Clip详解>介绍了剪辑基类的fl.fl_time.fx方法,在<moviepy音视频剪辑:视频剪辑基类VideoC ...
- PyQt+moviepy音视频剪辑实战文章目录
☞ ░ 前往老猿Python博文目录 ░ 本专栏为moviepy音视频剪辑合成相关内容介绍的免费专栏,对应的收费专栏为<moviepy音视频开发专栏>. 一.moviepy基础能力系统介绍 ...
- moviepy音视频剪辑:headblur函数遇到的ValueError assignment destination is read-only问题及解决办法
☞ ░ 前往老猿Python博文目录 ░ 一.运行环境 运行环境如下: python版本:3.7 opencv-python版本:4.2.0.34 numpy版本:1.19.0 二.错误案例代码及报错 ...
- moviepy音视频剪辑:headblur函数遇到的TypeError: integer argument expected, got float错误的解决方案
运行环境如下: python版本:3.7 opencv-python版本:4.2.0.34 numpy版本:1.19.0 错误信息: 在调用moviepy1.03版本的headblur函数执行人脸跟踪 ...
- Python MoviePy中文教程导览及可执行音视频剪辑工具下载
☞ ░ 前往老猿Python博文目录 ░ <Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载>是老猿两个关于moviepy的专栏<PyQt+moviepy ...
随机推荐
- 我用 Python 找出了删除我微信的所有人并将他们自动化删除了
1. 概述 不知你是否遇到过在微信上给通讯录中的某个人发消息,结果出现了这一幕: 平时一直认为自己的心里素质过硬,不过遇到这种情况 ... 在我缓了半个钟头(半分钟)之后,缓缓拿出了手机,打开微信,找 ...
- leetcode56:restore-ip-addresses
题目描述 现在有一个只包含数字的字符串,将该字符串重新存储成IP地址的形式,返回所有可能的情况. 例如: 给出的字符串为"25525511135", 返回["255.25 ...
- leetcode113:sudoku-solver
题目描述 请编写一个程序,给数独中的剩余的空格填写上数字 空格用字符'.'表示 假设给定的数独只有唯一的解法 这盘数独的解法是: 红色表示填上的解 Write a program to solve a ...
- python爬虫00什么是爬虫
用一个自动化的程序把网站背后的程序爬取下来. 在互联网上许许多多的网站,他们都是托管在服务器上的,这些服务器24小时运行着,刻刻 等待着别人的请求.所以,爬虫首先会模拟请求,就好像你在浏览器输入网址, ...
- 【Java】线程的创建方式
1.继承Thread类方式 这种方式适用于执行特定任务,并且需要获取处理后的数据的场景. 举例:一个用于累加数组内数据的和的线程. public class AdditionThread extend ...
- 在Linux下安装C++的OpenCV 3
最近在看<学习OpenCV3>这本书,所以记录下我在ubuntu16.4下搭建C++版本OpenCV 3.4.5的过程.首先请确保cuda,gcc, g++都安装好了,我这里是cuda 1 ...
- AI时代,还不了解大数据?
如果要问最近几年,IT行业哪个技术方向最火?一定属于ABC,即AI + Big Data + Cloud,也就是人工智能.大数据和云计算. 这几年,随着互联网大潮走向低谷,同时传统企业纷纷进行数字化转 ...
- linux文件增删拷(touch/mkdir/cp/mv/rm)
touch或>命令创建普通文件: [root@localhost test]# touch a ---创建单个文件 [root@localhost test]# ls a [root@loca ...
- 掉电后osdmap丢失无法启动osd的解决方案
前言 本篇讲述的是一个比较极端的故障的恢复场景,在整个集群全部服务器突然掉电的时候,osd里面的osdmap可能会出现没刷到磁盘上的情况,这个时候osdmap的最新版本为空或者为没有这个文件 还有一种 ...
- Frogs‘ Neighborhood(POJ 1659 C/C++)
poj 1659 Description 未名湖附近共有N个大小湖泊L1, L2, ..., Ln(其中包括未名湖),每个湖泊Li里住着一只青蛙Fi(1 ≤ i ≤ N).如果湖泊Li和Lj之间有水路 ...