通过hsv筛选颜色 python_OpenCV-Python 光流介绍(附代码)

本文介绍了光流的概念、应用和基本假设,重点讲解了Lucas-Kanade方法以及在OpenCV中的实现。通过cv.calcOpticalFlowPyrLK()函数跟踪视频特征点,展示了光流在视频处理中的作用。同时,文章还探讨了OpenCV中用于计算密集光流的Gunner Farneback算法。
摘要由CSDN通过智能技术生成

目标

在本章中,

  • 我们将了解光流的概念及其使用Lucas-Kanade方法的估计。
  • 我们将使用cv.calcOpticalFlowPyrLK()之类的函数来跟踪视频中的特征点。
  • 我们将使用cv.calcOpticalFlowFarneback()方法创建一个密集的光流场。

光流

光流是由物体或照相机的运动引起的两个连续帧之间图像物体的视运动的模式。它是2D向量场,其中每个向量都是位移向量,表示点从第一帧到第二帧的运动。考虑下面的图片(图片提供:Wikipedia关于Optical Flow的文章)。

dc70ed3509ed6f3970cdced4c264401b.png

它显示了一个球连续5帧运动。箭头显示其位移向量。光流在以下领域具有许多应用:

  • 运动的结构
  • 视频压缩
  • 视频稳定...

光流基于以下几个假设进行工作:

  1. 在连续的帧之间,对象的像素强度不变。
  2. 相邻像素具有相似的运动。

考虑第一帧中的像素$I(x,y,t)$(在此处添加新维度:时间。之前我们只处理图像,因此不需要时间)。它在$dt$时间之后拍摄的下一帧中按距离$(dx,dy)$移动。因此,由于这些像素相同且强度不变,因此可以说

5af0bd39759b22882ab68148e3b94a51.png

然后采用泰勒级数的右侧逼近,去掉常用项并除以$dt$得到下面的式子

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值