< 5000: # 用面积的话误差较大if (w < min_w) and (h < min_h) :continuecv2.rectangle(frame,(int(x),int(y)),(int(x+w),int(y+h)),(0,255,255),2)# 把车抽象为一个点 ——> 即外接矩形的中心点# 要通过外界矩形计算矩形中心点 ——> 我们把这段代码独立出来,写成函数my_center = center(x,y,w,h)cv2.circle(frame,(my_center),5,(0,255,255),-1) # 画出中心点# 记录下当前的点,并且用中心点的y坐标和检测线加上偏移量进行对比,如果坐标在区间内,则检测到车辆,否则不算cars.append(my_center) # 将中心点追加到列表中# 遍历cars中的点,与检测线的要求进行对比for (x , y) in cars:if (y >= line_high - offset) and (y <= line_high + offset): # 落入了有效区间# 计数加1car_num += 1# 统计过的车就remove掉 (如果remove,会出现一部车辆多次计数的情况)cars.remove((x,y))#print(car_num) # 统计结果正常# 显示车辆统计信息cv2.putText(frame,'Vehicle Count:' + str(car_num) ,(200,60),cv2.FONT_HERSHEY_SIMPLEX,2,(0,0,255),3)# 展示#cv2.imshow('video',close) # 显示识别到的前景fgmask(不是写frame!)cv2.imshow('frame',frame) # 退出key = cv2.waitKey(10) # 每隔1ms接受用户按下的按键# 用户按‘ESC’即可退出if key == 27:break# 最后别忘了释放资源cap.release()cv2.destroyAllWindows()# 左右两车道分别计数效果会好一点:左边线往下一点 右边线往上一点# 我们需要不停地挑检测线和检测轮廓的参数
结果:
- CRNN,Opencv,Pytorch 字符识别
- 统计学-点估计和区间估计
- 一 操作系统计算机操作系统概述
- 数据结构 C++实现 基于不同策略的英文单词的词频统计和检索系统
- 学习Opencv2.4.9---SVM支持向量机1
- 四 学习Opencv2.4.9---SVM支持向量机
- opencv——SVM参数详解
- 数学+统计+概率分布 R语言数据处理最基本的函数以及实际小案例
- 1976年中国突降罕见陨石雨。创三项世界纪录,其中一项尤为神奇! 世界之最统计
- 2021年中国炭素行业主要企业收入统计 中国十大碳素企业