1. 程式人生 > >OpenCV學習筆記(二十一)——車輛識別和跟蹤

OpenCV學習筆記(二十一)——車輛識別和跟蹤

     今天在GitHub上看到一個對車輛訓練好的模型,即xml檔案,於是拿來測試了一個效果。我用這個xml檔案對視訊中的每一幀畫面進行簡單的車輛識別定位,演示程式碼如下:

import cv2
import numpy as np

camera = cv2.VideoCapture ("video.avi")
camera.open("video.avi")
car_cascade = cv2.CascadeClassifier('cars.xml')

while True:
    (grabbed,frame) = camera.read()

    grayvideo = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    cars = car_cascade.detectMultiScale(grayvideo, 1.1, 1)
    # print(cars)
    # print(type(cars))
    # print(cars.shape)
    # 部分輸出如下所示:
    # [[255  62  37  37]
    #  [144  25  35  35]
    #  [219  81  62  62]
    #  [246  52  54  54]]
    # < class 'numpy.ndarray'>
    # (4, 4)
    # ...

    for (x,y,w,h) in cars:
        cv2.rectangle(frame,(x,y),(x+w,y+h),(0,0,255),2)
        cv2.imshow("video",frame)

    if cv2.waitKey(1)== ord('q'):
        break
camera.release()
cv2.destroyAllWindows()

執行程式,擷取其中某幾幀畫面,如下:




顯然,該模型對汽車識別的精度不夠。

 附:測試視訊以及xml模型檔案下載地址

   https://download.csdn.net/download/weixin_41695564/10419268

相關推薦

OpenCV學習筆記——車輛識別跟蹤

     今天在GitHub上看到一個對車輛訓練好的模型,即xml檔案,於是拿來測試了一個效果。我用這個xml檔案對視訊中的每一幀畫面進行簡單的車輛識別定位,演示程式碼如下:import cv2 import numpy as np camera = cv2.VideoCa

OpenCV學習筆記——簡單的單目視覺測距嘗試

    前言:         視覺測距作為機器視覺領域內基礎技術之一而受到廣泛的關注,其在機器人領域內佔有重要的地位,廣泛應用於機器視覺定位、目標跟蹤、視覺避障等。機器視覺測量主要分為:單目視覺測量、雙目視覺測量、結構光視覺測量等。結構光由於光源的限制,應用的場合比較固定;

Python學習筆記

準備 for ring 價格 python use imp pri exce 使用ElementTree解析XML文件 # 導入Python中內置的處理XML文件的模塊try: import xml.etree.cElementTree as ETexcept Imp

Java學習筆記:類型轉換instanceof關鍵字

方法 png true feed out 實例 strong 運算符 nbsp 基本數據類型轉換: 自動類型轉換:把大類型的數據賦值給大類型的變量(此時的大小指的是容量的範圍) 1 byte b = 12; //byte是一個字節 2 int i = b; //i

nginx 原始碼學習筆記—— event 模組() ——事件驅動核心ngx_process_events_and_timers

首先繼續回憶下,之前子執行緒執行操作裡面有一個未涉及的內容ngx_process_events_and_timers,今天我們就來研究下這個函式。 本篇文章來自於:http://blog.csdn.net/lengzijian/article/details/7601730 先來看一下第十九

Effective_STL 學習筆記 永遠讓比較函式對相等的值返回 false

  除非比較函式總是為相等的值返回 false,否則將會打破所有的標準關聯容器, 不管關聯容器是否允許存在副本(set、map、multiset、multimap) 對於(set、map)使用 less_equal (<=): 1   !( 10A <= 10B ) &a

機器學習筆記:TensorFlow實戰十三遷移學習

1 - 引言 越複雜的神經網路,需要的訓練集越大,ImageNet影象分類資料集有120萬標註圖片,所以才能將152層的ResNet的模型訓練到大約96.%的正確率。但是在真正的應用中,很難收集到如此多的標註資料。即使收集到也需要花費大量人力物力來標註。並且即使有了大量的資料集,要訓練一

Javaweb學習筆記————————過濾器

過濾器     過濾器概述         1.什麼是過濾器:             過濾器javaweb三大元件之一,它與Serlvet很相似,不過它過濾器是用來攔截請求的,而不是處理             請求的。             當用戶請求某個Servlet

OpenCV學習筆記——建立支援OpenGL的OpenCV工程“Master OpenCV”chp.3

從OpenCV2.4beta版本,OpenGL就可以有介面到highgui的模組中了。結合Master OpenCV第三章的閱讀,這裡說說如何在OpenCV的顯示中嵌入OpenGL的虛擬物體。 要注意的一點:如果想使OpenCV支援OpenGL,不能使用預編譯好的libra

OpenCV學習筆記——imge stitching影象拼接stitching

stitching是OpenCV2.4.0一個新模組,功能是實現影象拼接,所有的相關函式都被封裝在Stitcher類當中。這個類當中我們可能用到的成員函式有createDefault、estimateTransform、composePanorama、stitch。其內部實

OpenCV學習筆記——再看基礎資料結構core

記得我在OpenCV學習筆記(四)——新版本的資料結構core裡面講過新版本的資料結構了,可是我再看這部分的時候,我發現我當時實在是看得太馬虎了。對於新版本的資料結構,我再說說。 Point_類不用多言,裡面兩個成員變數x,y。Point_<int>就是Poin

OpenCV學習筆記——小試SVM演算法ml OpenCV學習筆記——基於級聯分類器的目標檢測objdect OpenCV學習筆記——光流法對運動目標跟蹤Video Ope

OpenCV學習筆記(二十六)——小試SVM演算法ml  總感覺自己停留在碼農的初級階段,要想更上一層,就得靜下心來,好好研究一下演算法的東西。OpenCV作為一個計算機視覺的開源庫,肯定不會只停留在數字影象處理的初級階段,我也得加油,深入研究它的演算法庫。就從ml入手

python OpenCV學習筆記:傅立葉變換Fourier Transform

傅立葉變換用於分析各種濾波器的頻率特性。對於影象,二維離散傅立葉變換(2D Discrete Fourier Transform/DFT)用於尋找頻域。快速傅立葉變換(Fast Fourier Transform/FFT)的快速演算法用於計算DFT。

OpenCV學習筆記——小試SVM演算法ml

總感覺自己停留在碼農的初級階段,要想更上一層,就得靜下心來,好好研究一下演算法的東西。OpenCV作為一個計算機視覺的開源庫,肯定不會只停留在數字影象處理的初級階段,我也得加油,深入研究它的演算法庫。就從ml入手吧,最近做東西遇到隨機森林,被搞的頭大,深深感覺自己肚子裡貨太

OpenCV學習筆記——OpenCV圖形介面設計Qt+VS2008

一直對MFC對OpenCV的支援不好而耿耿於懷,瞭解了Qt對OpenCV支援很好,但網上這方面的資料很少。大部分的圖形互動的設計都是基於OpenCV2.0之前的資料結構lpImage進行的。最近得到了一本好書《OpenCV 2 Computer Vision Applica

python OpenCV學習筆記:Hough線變換

Hough變換是一種很流行的技術,可以檢測任何可以用數學的形式來表示的形狀。即使它被破壞或變形,它也能檢測出它的形狀。我們將會看到它是如何工作的。 一條線可以表示成y = mx + c或引數形式,像ρ=xcosθ+ysinθ,其中ρ是從原點到直線的垂直

unity shader學習筆記——Unity中的高階紋理之渲染紋理

渲染紋理   渲染目標紋理(Render Target Texture, RTT)是指一個攝像機將渲染結果輸出到顏色緩衝中,並顯示到螢幕上,而不是傳統的幀緩衝和後備緩衝。   多重渲染目標(Multiple Render Target, MRT)是指把場景同

Linux學習筆記管道符作業控制、shell變量、環境變量配置文件

環境變量配置文件 管道符 一、管道符和作業控制cat 1.txt |wc -l ; cat 1.txt |grep ‘aaa‘將前面命令的結果輸入給後面的命令ctrl z 暫停一個任務、這時候任務隱藏到後臺,通過fg可以重新吊起任務到前臺運行jobs查看後臺的任務bg[id]把任務調到後臺fg[id]

Effective_STL 學習筆記 用 distance advance 把 const_iterator 轉化成 iterator

  並不存在從 const_iterator 到 iterator 之間的隱式轉換 一種安全的、可移植的方法獲取他所對應的 iterator: 1   typedef deque<int> IntDeque;     // 方便的typedef 2   typedef Int

Django學習筆記:閱讀計數優化計數防重新整理

閱讀計數主要就是記錄網頁被瀏覽的次數,防刷的方法就是記錄瀏覽的cookie,使每個cookie只能增加一次閱讀數, 當然,刪除cookie和關閉瀏覽器就可以重新增加閱讀數,更加優化的方法還在學習中,先分享這個我會的 models.py的程式碼 class Books(m