gpt4 book ai didi

python - 如何在交通车辆计数器中每辆车只计数一次?

转载 作者:太空宇宙 更新时间:2023-11-03 23:11:55 24 4
gpt4 key购买 nike

我一直在使用 Python 和 OpenCV 进行交通车辆统计。我目前的算法是计算每帧的车辆数量。这导致同一辆车在每一帧中计数不止一次。相反,我想要视频中的独特车辆数量。每辆车只数一次。我必须使用什么技术来实现这一目标。

import cv2
print(cv2.__version__)

cascade_src = 'cars.xml'
video_src = 'dataset/video2.avi'
#video_src = 'dataset/video2.avi'

cap = cv2.VideoCapture(video_src)
car_cascade = cv2.CascadeClassifier(cascade_src)

while True:
ret, img = cap.read()
if (type(img) == type(None)):
break

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

cars = car_cascade.detectMultiScale(gray, 1.1, 1)

for (x,y,w,h) in cars:
cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),2)

cv2.imshow('video', img)
print "Found "+str(len(cars))+" car(s)"
b=str(len(cars))
a= float(b)
if a>=5:
print ("more traffic")
else:
print ("no traffic")
if cv2.waitKey(33) == 27:
break

cv2.destroyAllWindows()

最佳答案

1) 申请Background subtraction

2) 对每一帧应用力矩函数以获得移动汽车的质心

3) 定义一个像素值(x,y)的区域,当移动汽车的质心越过这个范围时,计数器加1

关于python - 如何在交通车辆计数器中每辆车只计数一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48241232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com