python车流量检测车流统计车辆计数yolov5 deepsort车流检测
生活随笔
收集整理的這篇文章主要介紹了
python车流量检测车流统计车辆计数yolov5 deepsort车流检测
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python車流量檢測車流統計車輛計數yolov5 deepsort車流檢測
基于之前的yolo+deepsort上,將person類別改為車輛類別,因為coco數據集中,車輛類別有幾種【car,bus,truck】,所以都要保存下來。
首先來看一下yolov5+deepsort的車輛跟蹤初始效果,看著密密麻麻的框和id,思考一下該如何去設計這些規(guī)則進行統計。
labelsPath = "./yolo-coco/coco.names" LABELS = open(labelsPath).read().strip().split("\n")np.random.seed(42) COLORS = np.random.randint(0, 255, size=(200, 3),dtype="uint8")weightsPath = "./yolo-coco/yolov5.weights" configPath = "./yolo-coco/yolov5.cfg"net = cv2.dnn.readNetFromDarknet(configPath, weightsPath) ln = net.getLayerNames() ln = [ln[i - 1] for i in net.getUnconnectedOutLayers()]# ---------------------------------------------------------------------------------------------------------------------- """ # cv2.VideoCapture() --- 里面參數如果地址,打開視頻文件 --- 里面參數是0/1,打開攝像頭 # 當參數是0的時候,打開計算機的內置攝像頭,當參數為1的時候打開計算機的外置攝像頭 # (W, H) = (None, None) --- 視頻的寬度和高度,初始化視頻編寫器(writer)和幀尺寸""" # ----------------------------------------------------------------------------------------------------------------------vs = cv2.VideoCapture('./input/123.mp4') (W, H) = (None, None)# ---------------------------------------------------------------------------------------------------------------------- """ # try to determine the total number of frames in the video file # 打開一個指向視頻文件的文件指針,循環(huán)讀取幀 --- 嘗試確定視頻文件中的總幀數(total),以便估計整個視頻的處理時間; # CV_CAP_PROP_FRAME_COUNT --- 視頻的幀數 # 這里使用是處理視頻的時候固定的過程,不必過度的糾結其使用 --- # if imutils.is_cv2(): # prop = cv2.cv.CV_CAP_PROP_FRAME_COUNT # else: # prop = cv2.CAP_PROP_FRAME_COUNT # # vs.get(prop) --- cv2.VideoCapture.get(prop) --- 得到視頻的總幀數 # print("[INFO] {} total frames in video".format(total)) --- 輸出視頻的幀數""" # ---------------------------------------------------------------------------------------------------------------------- try:prop = cv2.cv.CV_CAP_PROP_FRAME_COUNT if imutils.is_cv2() \else cv2.CAP_PROP_FRAME_COUNTtotal = int(vs.get(prop))print("[INFO] {} total frames in video".format(total))except:print("[INFO] could not determine # of frames in video")print("[INFO] no approx. completion time can be provided")total = -1while True:# ----------------------------------------------------------------------------------------------------------------------"""# cv2.VideoCapture.read() ---> 讀取視頻,在while中循環(huán)讀取視頻的frame# vs.read() ---> 得到兩個參數,其中ret是布爾值,如果讀取幀是正確的則返回True,# 如果文件讀取到結尾,它的返回值就為False。frame就是每一幀的圖像,是個三維矩陣。# 第一個參數為False的時候,if not grabbed --- True --- 循環(huán)結束,"""(grabbed, frame) = vs.read()if not grabbed:breakif W is None or H is None:(H, W) = frame.shape[:2]
?
python車流量檢測雙向車流計數
?python車流量檢測車流統計車輛計數yolov5deepsort車流檢測-機器學習文檔類資源-CSDN下載
0 代碼基礎視頻跑通教程:
https://download.csdn.net/download/babyai996/85100267
總結
以上是生活随笔為你收集整理的python车流量检测车流统计车辆计数yolov5 deepsort车流检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(1927)vue之电商管理系统
- 下一篇: java基础之ArrayLis类