【内附详细说明文档】
本项目是使用python,利用opencv库实现的共8个视频处理算法,包括:目标跟踪算法Meanshift, Camshift;稀疏光流以及稠密光流的计算OpticalFlow, OpticalFlow_full,前景检测算法MOG, CNT, GMG, GSOC,LSBP 。
代码简洁易读,可做为python课设参考资料,或者供图像处理爱好者学习。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2520 2018-12-13 23:58 projectmain.py
文件 6680 2018-12-13 23:38 projectModules.py
文件 1419091 2018-12-14 00:02 projectpythonx项目说明文档.docx
文件 2138 2018-12-13 23:09 projectTools.py
目录 0 2019-02-28 15:34 project
----------- --------- ---------- ----- ----
1430429 5
import cv2
import argparse
from Tools import(
onMouse
)
from Modules import(
Meanshift
OpticalFlow
OpticalFlow_Full
BackgroundSubtractor
)
# 传入参数
parser = argparse.ArgumentParser()
parser.add_argument(‘--module‘ type=int default = 6
help = “ 0: Meanshift 1: Camshift 2: OpticalFlow
3: OpticalFlow_full 4: BackgroundSubtractorMOG
5: BackgroundSubtractorCNT 6: BackgroundSubtractorGMG
7: BackgroundSubtractorGSOC 8: BackgroundSubtractorLSBP“ )
parser.add_argument(‘--use_Video‘ default=True action=‘store_true‘)
parser.add_argument(‘--Video_path‘ type=str default = “D:\Downloads\BackgroundSplit-OpenCV-master\BackgroundSplit-OpenCV-master\Video\Camera Road 01.avi“)
args = parser.parse_args()
if __name__==‘__main__‘:
if not args.use_Video:
cap = cv2.VideoCapture(0)
else:
cap = cv2.VideoCapture(args.Video_path)
if not cap.isOpened():
print(“ERROR: Did‘t find this video!“)
exit(1)
if args.module == 0 or args.module == 1:
# 物体跟踪需要进行窗口鼠标监视
cv2.namedWindow(‘imshow‘)
cv2.setMouseCallback(‘imshow‘ onMouse)
if args.module == 1:
is_camshift = True
else:
is_camshift = False
trackModule = Meanshift(cap is_camshift)
trackModule.run()
elif args.module == 2:
# 特征点参数
feature_params = dict(maxCorners=100
qualityLevel=0.1
minDistance=5
blockSize=7)
# 光流参数
lk_params = dict(winSize=(11 11)
maxLevel=2
criteria=(cv2.TERM_CRITERIA_EPS | cv2.TERM_CRITERIA_COUNT 10 0.03))
of = OpticalFlow(cap feature_params lk_params)
of.run()
elif args.module == 3:
# 稠密光流参数
lk_params = dict(pyr_scale = 0.3
levels = 4 winsize = 6
iterations = 3 poly_n = 5
poly_sigma = 1.2 flags = 0)
of_full = OpticalFlow_Full(cap lk_params)
of_full.run()
elif 4 <= args.module <= 8:
# 前景检测算法
mog = BackgroundSubtractor(cap args.module)
mog.run()
else:
print(“module index error!“)
exit(1)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2520 2018-12-13 23:58 projectmain.py
文件 6680 2018-12-13 23:38 projectModules.py
文件 1419091 2018-12-14 00:02 projectpythonx项目说明文档.docx
文件 2138 2018-12-13 23:09 projectTools.py
目录 0 2019-02-28 15:34 project
----------- --------- ---------- ----- ----
1430429 5
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)