任務(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),請進行舉報或認領(lǐng)

文檔簡介

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

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

OpenCV類庫安裝界面任務(wù)實施——檢測單幀圖像中的車輛任務(wù)清單:加載級聯(lián)分類器讀取視頻灰度化處理檢測并識別車輛加載級聯(lián)分類器的語法格式cv2.CascadeClassifier(filename)參數(shù)說明:filename:文件名讀取圖像的語法格式cv2.imread(filepath,flags)參數(shù)說明:filepath:讀入圖片的完整路徑。路徑包括兩種:一種是絕對路徑,需要從根目錄寫起;另一種是相對路徑,需要源程序和文件在同一級目錄中。flags:讀入圖片的標志,該參數(shù)可省。讀取圖像部分代碼運行結(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ù)標注物體,通過調(diào)整函數(shù)的參數(shù)可以使檢測與標注結(jié)果更加精確。檢測并識別車輛detectMultiScale函數(shù)語法格式objects=cv2.CascadeClassifier.detectMultiScale(image[,scaleFactor[,minNeighbors[,flags[,minSize[,maxSize]]]]])參數(shù)說明:image:待檢測圖像,通常為灰度圖。scaleFactor:表示在前后兩次相繼的掃描中,搜索窗口的縮放比例。minNeighbors:表示構(gòu)成檢測目標的相鄰矩形的最小個數(shù)。flags:該參數(shù)通常被省略。minSize:目標的最小尺寸,小于這個尺寸的目標將被忽略。maxSize:目標的最大尺寸,大于這個尺寸的目標將被忽略。返回值objects:返回值,目標對象的矩形框向量組。檢測并識別車輛檢測到車輛之后,使用rectangle()函數(shù)來創(chuàng)建一個矩形,把檢測到的車輛用矩形畫出來。rectangle函數(shù)語法格式為cv2.rectangle(image,start_point,end_point,color,thickness)參數(shù)說明:image:它是要在其上繪制矩形的圖像。start_point:它是矩形的起始坐標。坐標表示為兩個值的元組,即(X坐標值,Y坐標值)。end_point:它是矩形的結(jié)束坐標。坐標表示為兩個值的元組,即(X坐標值,Y坐標值)。color:它是要繪制的矩形的邊界線的顏色。OpenCV默認的讀取的圖片是按照BGR通道讀取的。BGR與RGB概念是相似的,除了區(qū)域順序顛倒。例如:(255,0,0)為藍色。thickness:它是矩形邊框線的粗細像素。最終結(jié)果如圖2.63所示。圖2.63識別車輛最終結(jié)果展示任務(wù)實施——檢測視頻中的車輛任務(wù)清單:加載級聯(lián)分類器讀取圖像灰度化處理檢測并識別車輛讀取視頻的語法格式cv2.VideoCapture(filepath)參數(shù)說明:filepath:要讀入圖片的完整路徑,若為0表示默認為筆記本的內(nèi)置第一個攝像頭。讀取視頻部分代碼運行結(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ù)標注物體,通過調(diào)整函數(shù)的參數(shù)可以使檢測與標注結(jié)果更加精確。檢測并識別車輛detectMultiScale函數(shù)語法格式objects=cv2.CascadeClassifier.detectMultiScale(image[,scaleFactor[,minNeighbors[,flags[,minSize[,maxSize]]]]])參數(shù)說明:image:待檢測圖像,通常為灰度圖。scaleFactor:表示在前后兩次相繼的掃描中,搜索窗口的縮放比例。minNeighbors:表示構(gòu)成檢測目標的相鄰矩形的最小個數(shù)。flags:該參數(shù)通常被省略。minSize:目標的最小尺寸,小于這個尺寸的目標將被忽略。maxSize:目標的最大尺寸,大于這個尺寸的目標將被忽略。返回值objects:返回值,目標對象的矩形框向量組。檢測并識別車輛檢測到車輛之后,使用rectangle()函數(shù)來創(chuàng)建一個矩形,把檢測到的車輛用矩形畫出來。rectangle函數(shù)語法格式為cv2.rectangle(image,start_point,end_point,color,thickness)參數(shù)說明:image:它是要在其上繪制矩形的圖像。start_point:它是矩形的起始坐標。坐標表示為兩個值的元組,即(X坐標值,Y坐標值)。end_point:它是矩形的結(jié)束坐標。坐標表示為兩個值的元組,即(X坐標值,Y坐標值)。color:它是要繪制的矩形的邊界線的顏色。OpenCV默認的讀取的圖片是按照BGR通道讀取的。BGR與RGB概念是相似的,除了區(qū)域順序顛倒。例如:(255,0,0)為藍色。thickness:它是矩形邊框線的粗細像素。最終結(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論