任務(wù)2.2車輛識別應(yīng)用實踐_第1頁
任務(wù)2.2車輛識別應(yīng)用實踐_第2頁
任務(wù)2.2車輛識別應(yīng)用實踐_第3頁
任務(wù)2.2車輛識別應(yīng)用實踐_第4頁
任務(wù)2.2車輛識別應(yīng)用實踐_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

任務(wù)2.2車輛識別應(yīng)用實踐任務(wù)導(dǎo)入任務(wù)導(dǎo)入智能網(wǎng)聯(lián)時代的汽車行業(yè),對新學(xué)科、新型人才的需求,與傳統(tǒng)汽車行業(yè)有著明顯不同。對職業(yè)院校學(xué)生來說,智能網(wǎng)聯(lián)汽車人才需求更偏重于數(shù)據(jù)采集、數(shù)據(jù)標(biāo)定與測試、智能網(wǎng)聯(lián)汽車研發(fā)助理等技能類人才,行業(yè)急需“汽車+I(xiàn)T+通信"的復(fù)合型技能人才。任務(wù)導(dǎo)入技能類人才需求企業(yè)大多集中在以攝像頭、毫米波雷達(dá)和激光雷達(dá)為主要代表的智能傳感器制造企業(yè)、整車和零部件企業(yè),以及以車路協(xié)同為主要代表的信息技術(shù)企業(yè),這些企業(yè)對技能類人才的要求,表現(xiàn)在知識、能力、專業(yè)技能和素質(zhì)等層面。其中知識層面,由于智能網(wǎng)聯(lián)汽車是人工智能技術(shù)的應(yīng)用場景,因此涉及到電子、計算機(jī)、通信、汽車與交通等多方面知識,需要一專多能。任務(wù)導(dǎo)入在前向碰撞預(yù)警系統(tǒng)中,首先需要利用攝像頭獲取車輛、行人、障礙物等原始圖像,然后基于一定的模型和算法進(jìn)行環(huán)境感知分析,實現(xiàn)障礙物的檢測、定位和識別,從而為實現(xiàn)雷達(dá)傳感器測距以及預(yù)警模型的建立提供基礎(chǔ)。車輛識別中視頻信息可以理解為多幀的圖片信息,所以本任務(wù)的實驗將根據(jù)系統(tǒng)中錄入的單幀圖像和視頻信息分別進(jìn)行車輛檢測與識別的過程。車輛識別應(yīng)用技術(shù)的相關(guān)知識2.2.1Python認(rèn)知1.Python簡介Python是一種跨平臺的計算機(jī)程序設(shè)計語言。它是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。最初被設(shè)計用于編寫自動化腳本,隨著版本的不斷更新和語言新功能的添加,越來越多地被用于獨立的、大型項目的開發(fā)。Python是一種解釋型腳本語言,可以應(yīng)用于以下領(lǐng)域:Web和Internet開發(fā)、科學(xué)計算和統(tǒng)計、人工智能、桌面界面開發(fā)、軟件開發(fā)、后端開發(fā)和網(wǎng)絡(luò)爬蟲等。2.2.1Python認(rèn)知2.Python發(fā)展歷史Python是由GuidovanRossum在八十年代末和九十年代初,在荷蘭國家數(shù)學(xué)和計算機(jī)科學(xué)研究所設(shè)計出來的。Python本身也是由諸多其他語言發(fā)展而來的,這包括ABC.Modula-3、C.C++、Algol-68、SmallTalk、Unixshell和其他的腳本語言等等?,F(xiàn)在Python是由一個核心開發(fā)團(tuán)隊在維護(hù),GuidovanRossum仍然占據(jù)著至關(guān)重要的作用,指導(dǎo)其進(jìn)展。Python2.7被確定為最后一個Python2.x版本,它除了支持Python2.x語法外,還支持部分Python3.1語法。2.2.1Python認(rèn)知3.Python特點1.易于學(xué)習(xí)。2.易于閱讀。3.易于維護(hù)。4.支持廣泛的標(biāo)準(zhǔn)庫。5.支持互動模式。6.可移植。7.可擴(kuò)展。8.支持?jǐn)?shù)據(jù)庫。9.支持GUI編程。10.可嵌入。2.2.2

OpenCV庫認(rèn)知OpenCV是一個的跨平臺計算機(jī)視覺庫,可以運(yùn)行在Linux、Windows和MacOS操作系統(tǒng)上。它輕量級而且高效——由一系列C函數(shù)和少量C++類構(gòu)成,同時也提供了Python接口,實現(xiàn)了圖像處理和計算機(jī)視覺方面的很多通用算法。車輛識別屬于計算機(jī)視覺領(lǐng)域應(yīng)用,計算機(jī)視覺是一個跨學(xué)科領(lǐng)域,旨在用攝影機(jī)和電腦代替人眼對目標(biāo)進(jìn)行識別、跟蹤和測量,之后對圖像做進(jìn)一步處理。任務(wù)實施——搭建車輛識別的實訓(xùn)環(huán)境任務(wù)清單:以Windows為例,完成Python+PyCharm環(huán)境配置方法完成OpenCV庫的安裝。Python+PyCharm環(huán)境配置運(yùn)行效果如圖2.57所示。圖2.57的PyCharm中運(yùn)行程序界面OpenCV庫的安裝運(yùn)行效果如圖2.58所示。圖2.58

OpenCV類庫安裝界面任務(wù)實施——檢測單幀圖像中的車輛任務(wù)清單:加載級聯(lián)分類器讀取視頻灰度化處理檢測并識別車輛加載級聯(lián)分類器的語法格式cv2.CascadeClassifier(filename)參數(shù)說明:filename:文件名讀取圖像的語法格式cv2.imread(filepath,flags)參數(shù)說明:filepath:讀入圖片的完整路徑。路徑包括兩種:一種是絕對路徑,需要從根目錄寫起;另一種是相對路徑,需要源程序和文件在同一級目錄中。flags:讀入圖片的標(biāo)志,該參數(shù)可省。讀取圖像部分代碼運(yùn)行結(jié)果如下圖所示灰度化處理圖像灰度化方法這里我們使用cvtColor()函數(shù)將圖像從一個顏色空間轉(zhuǎn)換到另一個顏色空間(目前常見的顏色空間均支持),并且在轉(zhuǎn)換的過程中能夠保證數(shù)據(jù)的類型不變,即轉(zhuǎn)換后的圖像的數(shù)據(jù)類型和位深與源圖像一致。色彩空間轉(zhuǎn)化函數(shù)的語法格式cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)參數(shù)說明:img:源圖像。cv2.COLOR_RGB2GRAY:將彩色圖像轉(zhuǎn)為灰度圖像。圖像灰度化效果對比如下圖所示檢測并識別車輛在OpenCV中,常用CascadeClassifier.detectMultiScale()函數(shù)檢測物體,使用rectangle()函數(shù)標(biāo)注物體,通過調(diào)整函數(shù)的參數(shù)可以使檢測與標(biāo)注結(jié)果更加精確。檢測并識別車輛detectMultiScale函數(shù)語法格式objects=cv2.CascadeClassifier.detectMultiScale(image[,scaleFactor[,minNeighbors[,flags[,minSize[,maxSize]]]]])參數(shù)說明:image:待檢測圖像,通常為灰度圖。scaleFactor:表示在前后兩次相繼的掃描中,搜索窗口的縮放比例。minNeighbors:表示構(gòu)成檢測目標(biāo)的相鄰矩形的最小個數(shù)。flags:該參數(shù)通常被省略。minSize:目標(biāo)的最小尺寸,小于這個尺寸的目標(biāo)將被忽略。maxSize:目標(biāo)的最大尺寸,大于這個尺寸的目標(biāo)將被忽略。返回值objects:返回值,目標(biāo)對象的矩形框向量組。檢測并識別車輛檢測到車輛之后,使用rectangle()函數(shù)來創(chuàng)建一個矩形,把檢測到的車輛用矩形畫出來。rectangle函數(shù)語法格式為cv2.rectangle(image,start_point,end_point,color,thickness)參數(shù)說明:image:它是要在其上繪制矩形的圖像。start_point:它是矩形的起始坐標(biāo)。坐標(biāo)表示為兩個值的元組,即(X坐標(biāo)值,Y坐標(biāo)值)。end_point:它是矩形的結(jié)束坐標(biāo)。坐標(biāo)表示為兩個值的元組,即(X坐標(biāo)值,Y坐標(biāo)值)。color:它是要繪制的矩形的邊界線的顏色。OpenCV默認(rèn)的讀取的圖片是按照BGR通道讀取的。BGR與RGB概念是相似的,除了區(qū)域順序顛倒。例如:(255,0,0)為藍(lán)色。thickness:它是矩形邊框線的粗細(xì)像素。最終結(jié)果如圖2.63所示。圖2.63識別車輛最終結(jié)果展示任務(wù)實施——檢測視頻中的車輛任務(wù)清單:加載級聯(lián)分類器讀取圖像灰度化處理檢測并識別車輛讀取視頻的語法格式cv2.VideoCapture(filepath)參數(shù)說明:filepath:要讀入圖片的完整路徑,若為0表示默認(rèn)為筆記本的內(nèi)置第一個攝像頭。讀取視頻部分代碼運(yùn)行結(jié)果如下圖所示灰度化處理與讀取圖片一樣,將每一幀轉(zhuǎn)化為灰度圖片。色彩空間轉(zhuǎn)化函數(shù)的語法格式cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)參數(shù)說明:img:源圖像。cv2.COLOR_RGB2GRAY:將彩色圖像轉(zhuǎn)為灰度圖像。圖像灰度化效果對比如下圖所示檢測并識別車輛在OpenCV中,常用CascadeClassifier.detectMultiScale()函數(shù)檢測物體,使用rectangle()函數(shù)標(biāo)注物體,通過調(diào)整函數(shù)的參數(shù)可以使檢測與標(biāo)注結(jié)果更加精確。檢測并識別車輛detectMultiScale函數(shù)語法格式objects=cv2.CascadeClassifier.detectMultiScale(image[,scaleFactor[,minNeighbors[,flags[,minSize[,maxSize]]]]])參數(shù)說明:image:待檢測圖像,通常為灰度圖。scaleFactor:表示在前后兩次相繼的掃描中,搜索窗口的縮放比例。minNeighbors:表示構(gòu)成檢測目標(biāo)的相鄰矩形的最小個數(shù)。flags:該參數(shù)通常被省略。minSize:目標(biāo)的最小尺寸,小于這個尺寸的目標(biāo)將被忽略。maxSize:目標(biāo)的最大尺寸,大于這個尺寸的目標(biāo)將被忽略。返回值objects:返回值,目標(biāo)對象的矩形框向量組。檢測并識別車輛檢測到車輛之后,使用rectangle()函數(shù)來創(chuàng)建一個矩形,把檢測到的車輛用矩形畫出來。rectangle函數(shù)語法格式為cv2.rectangle(image,start_point,end_point,color,thickness)參數(shù)說明:image:它是要在其上繪制矩形的圖像。start_point:它是矩形的起始坐標(biāo)。坐標(biāo)表示為兩個值的元組,即(X坐標(biāo)值,Y坐標(biāo)值)。end_point:它是矩形的結(jié)束坐標(biāo)。坐標(biāo)表示為兩個值的元組,即(X坐標(biāo)值,Y坐標(biāo)值)。color:它是要繪制的矩形的邊界線的顏色。OpenCV默認(rèn)的讀取的圖片是按照BGR通道讀取的。BGR與RGB概念是相似的,除了區(qū)域順序顛倒。例如:(255,0,0)為藍(lán)色。thickness:它是矩形邊框線的粗細(xì)像素。最終結(jié)果如圖2.67所示。圖2.67

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論