博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
视频稳像
阅读量:6896 次
发布时间:2019-06-27

本文共 1096 字,大约阅读时间需要 3 分钟。

一、概念:

    利用软件或硬件的方法使存在抖动的视频变得稳定。从成本和效果两者综合方面分析,软件方法较有优势,接下来本文主要讨论软件的方法。

二、分类

    视频稳像利用软件方式进行稳像处理主要分为3种方式:二维稳像方法,三维稳像方法,介于二维和三维之间的方法(2.5维稳像方法)。

三、基本步骤

    视频稳像主要分为三步:1.全局运动估计;2.运动平滑;3.运动补偿。

四、要点

    1)全局运动估计是要利用背景追踪的方法对相机运动进行估计。其中涉及到的要点有:1.前景的去除;2.参考帧的选取;3.累积错误;4.单向运动估计的弊病(可以利用双向运动估计来估计两种方向的运动)。

    2)运动平滑主要是对估计的抖动轨迹进行平滑处理。其中涉及的要点有:1.自定义平滑路径;2.平滑路径对优化后视频的影响(丢失像素以及局部扭曲或整体崩溃)。

    3)运动补偿是利用平滑的轨迹对原视频进行反向补偿。其中涉及的要点有:1.弥补丢失的像素;2.对模糊的图片进行清晰化处理等。

    从功能上看,运动平滑与运动补偿是有很大关联的。因此,在做运动平滑时,在时间轨迹平滑基础上会加入许多空间约束来约束矫正后的视频留有较好的空间结构。

五、二维稳像方法

  目前,二维稳像主要是利用二维平面旋转,平移,缩放这三个参数来解决特定的图像序列。主要用到的运动估计方法有surf,sift,投影变换,块匹配,光流追踪等,结合RANSAC(改进方法)等来估计特定运动轨迹(不要将所有运动用一类参数来代替)。主要用到的平滑方法有低通滤波法(高斯,三角函数法,kalman),曲线法(贝塞尔曲线,二次曲线)等。

代表性代码:

 L1稳像:https://github.com/ishit/L1Stabilizer

 

六、三维稳像方法

  三维方法分为利用三维变换来进行稳像和利用整个帧的光流进行稳像。

代表性代码:

待续

七、介于二维和三维之间的方法详述

  此方法主要是利用特征轨迹来稳像,用于平衡稳像质量和速度。

代表性代码有:

bundle稳像:https://github.com/SuTanTank/BundledCameraPathVideoStabilization 

subspace稳像: https://github.com/higerra/SubspaceStab 

卷积摄像机拍摄的视频处理:https://github.com/alexgo1/Video-Stabilization

 

如果在计算时没有好的工具,可以尝试 cvx 工具

    

  

转载于:https://www.cnblogs.com/RYWBlogs/p/7173387.html

你可能感兴趣的文章
多线程测试java接口
查看>>
CICS的database中R D中参数的含义
查看>>
SSSE3指令集----水平加法指令饱和字节乘加指令以及字节重排指令
查看>>
with 语句
查看>>
关于mac ox node安装报 npm ERR! registry error parsing json
查看>>
USB通讯协议之深入理解
查看>>
推荐系统-02-推荐技术
查看>>
js基础知识点总结
查看>>
Android在Adapter里面调用Activity的方法/变量
查看>>
HTML5的新增方法
查看>>
c primer plus(五版)编程练习-第六章编程练习
查看>>
实验十——一维数组的定义及引用
查看>>
VC6 下学习使用Teechart8记录
查看>>
protobuf c++例子
查看>>
《TCP/IP详解1》笔记(第1章 概述)
查看>>
Dubbo项目实战 (二) 注册中心zookeeper-3.4.6集群以及高可用
查看>>
COGS 862. 二进制数01串【dp+经典二分+字符串】
查看>>
eclipse中tomcat端口被占用如何解决
查看>>
s31 zabbix监控企业级监控
查看>>
Web 研发模式演变
查看>>