从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章主要为大家展示了“C++ OpenCV视频操作之如何实现KLT稀疏光流对象跟踪”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C++ OpenCV视频操作之如何实现KLT稀疏光流对象跟踪”这篇文章吧。
企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,创新互联面向各种领域:成都发电机租赁等成都网站设计、营销型网站解决方案、网站设计等建站排名服务。
前言
光流跟踪法是目前分析运动图像比较重要的方法,用来指时变图像的运动速度,是根据运动的物体,对应到图像中亮度模式也在运动得到的。稀疏光流跟踪是一种经典的对象跟踪算法,可以绘制运动对象的跟踪轨迹与运行方向,是一种简单、实时高效的跟踪算法,这个算法最早是有Bruce D. Lucas and Takeo Kanade两位作者提出来的,所以又被称为KLT。KLT算法工作有三个假设前提条件:
亮度恒定
短距离移动
空间一致性
基本流程
读取图像
角点提取
光流计算
跟踪流程
输出跟踪图像
这一篇我们先看一下基本流程的前两步读取图像和角点提取。
代码演示
我们再新建一个项目名为opencv--video3,按照配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法
里面加载的图像还是上次我们用到的test6.mp4,就是那个我拿一个按摩器在视频中移动那个视频。
定义参数
首先我们定义了两个Mat和一个特征点提取的vector
将源图转换为灰度图
角点提取
我们在特征提取的时候当时学过Shi-Tomasi角点检测,用到的角点检测的API就是goodFeaturesToTrack,里面的具体参数可以看一下当时的文章《C++ OpenCV特征提取之亚像素级角点检测》里面的定义及说明。这里用到后把上面的灰度图像中的特征提取出来放到了我们定义的std::vector
在源图上画出特征点
我们把提取出来的特征点通过遍历后以红色的圆点形式画到了源图上,然后再显示出来。
整个部分的代码
我们看一下运行出来的视频效果
视频中的截图
以上是“C++ OpenCV视频操作之如何实现KLT稀疏光流对象跟踪”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图