#加载视频 import cv2 import numpy as np cap = cv2.VideoCapture('car.mp4') #去除背景 mog= cv2.bgsegm.createBackgroundSubtractorMOG() kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(7,7)) min_w=90 min_h=90 line_hig=400 #偏移量 offset=2 cars=[] carno=0 #计算外矩形的中心点 def center(x,y,w,h): x1=int(w/2) y1=int(h/2) cx=int(x)+x1 cy=int(y)+y1 return cx,cy #循环读取视频帧 while True: ret,frame = cap.read() if ret == True: # 把原始帧进行灰度化 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #采用高斯去噪 blur = cv2.GaussianBlur(gray,(7,7),8) fgmask = mog.apply(blur) #腐蚀 erode = cv2.erode(fgmask,kernel) #膨胀,把图像还原回来 dialte=cv2.dilate(erode,kernel,iterations=2) #消除内部的小块 # 执行开运算 opening = cv2.morphologyEx(dialte, cv2.MORPH_OPEN, kernel) #闭运算 close=cv2.morphologyEx(opening,cv2
OPEN CV 实现车辆统计
最新推荐文章于 2024-12-24 17:02:54 发布