OpenCV稀疏光流法可直接运行的例程(python)

import numpy as np
import cv2

cap = cv2.VideoCapture("/home/indra/opencv-4.8.0/samples/data/vtest.avi")

# ShiTomas角点检测的参数
feature_params = dict(maxCorners =100,qualityLevel=0.3,minDistance=7,blockSize=7)

# 金字塔LK算法参数
lk_params = dict(winSize=(15,15),maxLevel=2,criteria=(cv2.TERM_CRITERIA_EPS|cv2.TermCriteria_COUNT,10,0.03))
# 创建随机颜色
color = np.random.randint(0,255,(100,3))

ret,old_frame = cap.read()
old_gray = cv2.cvtColor(old_frame,cv2.COLOR_BGR2GRAY)
p0 = cv2.goodFeaturesToTrack(old_gray,mask=None,**feature_params)

mask = np.zeros_like(old_frame)

while(1):
    ret,frame = cap.read()
    
    if ret is True: 
        frame_gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
    else:   
        break

    p1,st,err = cv2.calcOpticalFlowPyrLK(old_gray,frame_gray,p0,None,**lk_params)

    good_new =p1[st==1]
    good_old =p0[st==1]

    for i,(new,old) in enumerate(zip(good_new,good_old)):
        a,b = new.ravel()
        c,d = old.ravel()
        mask
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值