本篇博客主要介绍cv2模块中光流法,cv2.calcOpticalFlowPyrLK()。
由于目标对象或者摄像机的移动造成的图像对象在连续两帧图像中的移动成为光流。
它是一个2D向量场,可以用来显示一个点从第一帧图像到第二帧图像的移动。
光流法的应用领域:
(1)、由运动重建结构
(2)、视频压缩
(3)、Video Stabilization
示例代码:
import numpy as np
import cv2
cap = cv2.VideoCapture('../data/slow.flv')
# ShiTomasi corner detection的参数
feature_params = dict(maxCorners=100,
qualityLevel=0.3,
minDistance=7,
blockSize=7)
# 光流法参数
# maxLevel 未使用的图像金字塔层数
lk_params = dict(winSize=(15, 15),