python用opencv计算汽车间距_计算机视觉:利用OpenCV和Python进行车辆计数详细步调...

本文详细介绍了如何使用Python和OpenCV进行对象计数,特别是针对车辆计数。从获取视频流到背景扣除、形态学操作、轮廓检测、对象追踪和移动方向判断,每个步骤都有清晰的代码示例。最后,文章展示了如何通过这些技术来统计视频中的车辆数量。
摘要由CSDN通过智能技术生成

本教程我将分享几个简单步调剂释如何使用OpenCV进行Python对象计数。

需要安装一些软件:

Python 3OpennCV

1.了解Opencv从摄像头获得视频的Python脚本

import cv2, time#1. Create an object.Zero for external cameravideo=cv2. VideoCapture(0)#1. a variablea=0while True:        a=a+1        #3. Create frame object        check, frame = video.read()        print(check)        print(frame) # Reprsenting image        #6. converting to grascale        gray=cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)        #4. shadow the frame        cv2.imshow("Capturing", gray)        #5. for press any key to out (milisecond)        #cv2.waitKey(0)        #7. for playing        key=cv2.waitKey(1)                if key==ord('q'):                break        print (a)#2. Shutdown the cameravideo.release() cv2.destroyAllWindows

计算机视觉:利用OpenCV和Python进行车辆计数详细步调-1.jpg (51.45 KB, 下载次数: 0)

2018-10-16 16:50 上传

2.加载视频

现在我们将开始逐步学习这个车辆计数教程。第一步是打开我们将在本教程中使用的视频录制。Python示例代码如下:

import numpy as npimport cv2cap = cv2.VideoCapture('traf.mp4') #Open video filewhile(cap.isOpened()): ret, frame = cap.read() #read a frame try: cv2.imshow('Frame',frame) except: #if there are no more frames to show... print('EOF') break #Abort and exit with 'Q' or ESC k = cv2.waitKey(30) & 0xff if k == 27: breakcap.release() #release video filecv2.destroyAllWindows() #close all openCV windows

计算机视觉:利用OpenCV和Python进行车辆计数详细步调-2.jpg (33.87 KB, 下载次数: 0)

2018-10-16 16:50 上传

3. 在视频窗口中绘图

这部分很是简单,因为我们只在视频上显示文字或画线。

使用Python代码在视频文件中显示文本如下:

import numpy as npimport cv2cap = cv2.VideoCapture('traf.mp4') #Open video filew = cap.get(3) #get widthh = cap.get(4) #get heightmx = int(w/2)my = int(h/2)count = 0while(cap.isOpened()): ret, frame = cap.read() #read a frame try: count = count + 1 text = "Statistika UII " + str(count) cv2.putText(frame, text ,(mx,my),cv2.FONT_HERSHEY_SIMPLEX ,1,(255,255,255),1,cv2.LINE_AA) cv2.imshow('Frame',frame) except: #if there are no more frames to show... print('EOF') break #Abort and exit with 'Q' or ESC k = cv2.waitKey(30) & 0xff if k == 27: breakcap.release() #release video filecv2.destroyAllWindows() #close all openCV windows

计算机视觉:利用OpenCV和Python进行车辆计数详细步调-3.jpg (56.06 KB, 下载次数: 0)

2018-10-16 16:50 上传

计算机视觉:利用OpenCV和Python进行车辆计数详细步调-4.jpg (40.06 KB, 下载次数: 0)

2018-10-16 16:50 上传

除显示文字,我们还可以绘制线条,圆圈等。OpenCV有许多绘制几何形状的体例

import nump

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值