freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于qt的車牌識別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)-文庫吧

2025-04-17 20:36 本頁面


【正文】 B 三個分量的平均值,然后將這個平均值賦予給這個像素的三個分量。 R=G=B=(R+G+B)/3 加權(quán)值法: 根據(jù) YUV 的顏色空間中, Y 的分量的物理意義是點(diǎn)的亮度,由該值反映亮度等級,根據(jù) RGB 和 YUV 顏色空間的變化關(guān)系可建立亮度 Y 與 R、 G、 B 三個顏色分量的對應(yīng) , 以這個亮度值表達(dá)圖像的灰度值。 Y=++ ( 2) 圖像邊緣化檢測 不同圖像灰度不 同,邊界處一般會有明顯的邊緣,利用此特征可以更加準(zhǔn)確得檢測到車牌輪廓從而對車牌進(jìn)行定位,本系統(tǒng)采用 Canny 算子實(shí)現(xiàn), Canny 算子是一個具有濾波,增強(qiáng),檢測的多階段的優(yōu)化算子,在進(jìn)行處理前, Canny 算子先利用高斯平滑濾波器來平滑圖像以除去噪聲, Canny分割算法采用一階偏導(dǎo)的有限差分來計(jì)算梯度幅值和方向,在處理過程中, Canny 算子還將經(jīng)過一個非極大值抑制的過程, 最后 Canny 算子還采用兩個閾值來連接邊緣。 Canny 邊緣檢測算法: 用高斯濾波器平滑圖象; 用一階偏導(dǎo)的有限差分來計(jì)算梯度的幅值和方向; 對梯度幅值進(jìn)行非極大值抑制; 用雙閾值算法檢測和連接邊緣。 ( 3)圖像的二值化 為了進(jìn)一步使圖像變得簡單,減小容量,更加明顯地顯示出車牌的輪廓,就需要對原先灰度化的圖像進(jìn)行二值化處理,二值化就是將圖像上的點(diǎn)的灰度設(shè)置為 0 或 255,使整個圖像呈現(xiàn)出黑白效果,即將圖像上的將 256 個亮度等級的灰度圖像通過適當(dāng)?shù)拈y值選取而獲得可以反映圖像整體和局部特征的二值化圖像。 為了得到理想的二值圖像,一般采用封閉、連通的邊界定義不交疊的區(qū)域。所有灰度大于或等于閥值的像素被判定為屬于特定物體,其灰度值為 255 表示,否則這些像素點(diǎn) 被排除在物體區(qū)域以外,灰度值為 0,表示背景或者例外的物體區(qū)域。 如果某特定物體在內(nèi)部有均勻一致的灰度值,并且其處在一個具有其他等級灰度值的均勻背景下,使用閥值法就可以得到比較的分割效果。如果物體同背景的差別表現(xiàn)不在灰度值上(比如紋理不同),可以將這個差別特征轉(zhuǎn)換為灰度的差別,然后利用閥值選取技術(shù)來分割該圖像。動態(tài)調(diào)節(jié)閥值實(shí)現(xiàn)圖像的二值化可動態(tài)觀察其分割圖像的具體結(jié)果。 在二值化過程中,閥值的選取是最為重要的問題,本系統(tǒng)運(yùn)用的是全局閥值法 Ostu。 Otsu 法即最大類間方差法,該方法由 Otsu 于 1979 年提出,所 以又稱 Otsu 二值化方法,是一種經(jīng)典的全局閾5 值法。這種二值化閾值選取算法比較簡單,所以得到廣泛的應(yīng)用。 Otsu 方法的基本思想是對像素進(jìn)行劃分,使劃分得到的各類之間的距離達(dá)到最大來確定最合適的閾值。該方法對于目標(biāo)和背景明顯分離、直方圖分布呈雙峰的圖像效果良好,適用于車牌識別系統(tǒng)中的圖像預(yù)處理。 系統(tǒng)的流程圖 該流程圖為系統(tǒng)流程圖,主要是描述系統(tǒng)整個運(yùn)行過程,包括系統(tǒng)的主要模塊,這樣用戶就能夠通過流程圖查看系統(tǒng)的執(zhí)行過程,對系統(tǒng)也能夠進(jìn)一步的了解。 圖 21 系統(tǒng)流程圖 判斷文件 N N 錯誤提示 開始 選擇圖片 灰度化處理 二值化處理 車牌定位 字符分割 載入圖片 找到車牌 字符識別 結(jié)果顯示 結(jié)束 Y Y 6 3 系統(tǒng)的軟件設(shè)計(jì) Qt 平臺的介紹 Qt 是一個跨平臺 C++圖形用戶界面 應(yīng)用程序 開發(fā)框架。它既可以開發(fā) GUI 程序,也可用于開發(fā)非 GUI 程序,比如控制臺工具和服務(wù)器。 Qt 是面向?qū)ο蟮目蚣?,使用?殊的代碼生成擴(kuò)展(稱為元對象編譯器 (Meta Object Compiler, moc))以及一些宏,易于擴(kuò)展,允許組件編程。 本系統(tǒng)是在 Qt creator 下進(jìn)行開發(fā)的, Qt Creator 包括項(xiàng)目生成向?qū)А⒏呒壍? C++ 代碼 編輯器 、瀏覽文件及類的工具、集成了 Qt Designer、 Qt Assistant、 Qt Linguist、圖形化的 GDB 調(diào)試前端,集成 qmake 構(gòu)建工具等。 OpenCV 的介紹 系統(tǒng)采用的是 OpenCV 視覺庫, OpenCV 是一個基于 (開源)發(fā)行的跨平臺計(jì)算機(jī)視覺庫,可以運(yùn)行在 Linux、 Windows 和 Mac OS 操作系統(tǒng)上。它輕量級而且高效 —— 由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時提供了 Python、 Ruby、 MATLAB 等語言的接口,實(shí)現(xiàn)了 圖像處理 和計(jì)算機(jī)視覺方面的很多通用算法。 OpenCV 主要分為四大模塊,如圖 31 所示。 OpenCV 的 CV 模塊包含基本的圖像處理函數(shù)和高級的計(jì)算機(jī)視覺算法。 ML 是機(jī)器學(xué)習(xí)庫,包含一些基于統(tǒng)計(jì)和聚類工具。 HighGUI 包含圖像和視頻輸入 /輸出的函數(shù)。 CXCore 包含 OpenCV 的一些基本數(shù)據(jù)結(jié)構(gòu)和相關(guān)函數(shù)。 圖 31 系統(tǒng)流程圖 配置 OpenCV 的 Qt 開發(fā)環(huán)境 (1)安裝好 Qtcreator、 OpenCV 以及 CMaker(默認(rèn)安裝 C 盤); (2)將 C:\Qt\\Tools\MinGW\bin 加入系統(tǒng)的 Path 環(huán)境變量; (3)使用 CMaker 編譯 OpenCV 并生成 makefile 文件; (4)打開 cmd,進(jìn)入目標(biāo)路徑( C: \OpenCV) , 輸入 mingw32make 命令開始編譯 。 (5)拷貝 安裝目錄下的 build/include 目錄 , MinGW 編譯后的 bin 目錄 以及 CMake 目標(biāo)路徑下, MinGW 編譯后的 lib 目錄 到同一目錄,并將 bin 目錄添加到系統(tǒng)環(huán)境變量 path 中; (6)打開 Qt Creator,新建一個空工程,然后添加一個 cpp 文件,任意命名 , 在 pro 文件中添加如下OpenCV 的依賴文件 INCLUDEPATH+=C:\OpenCV\include\opencv\ C:\OpenCV\include\opencv2\ C:\OpenCV\include LIBS+= C:\OpenCV\lib\\ CV 圖像處理和視覺算法 MLL 統(tǒng)計(jì)分類器 HighGUI GUI 圖像和視頻輸入 /輸出 CXCORE 基本 結(jié)構(gòu)算法, XML 支持,繪圖函數(shù) 7 C:\OpenCV\lib\\ C:\OpenCV\lib\\ C:\OpenCV\lib\\ C:\OpenCV\lib\\ C:\OpenCV\lib\\ C:\OpenCV\lib\\ C:\OpenCV\lib\\ C:\OpenCV\lib\\ C:\OpenCV\lib\\ C:\OpenCV\lib\\ C:\OpenCV\lib\ 車牌識別系統(tǒng)的功能模塊劃分和實(shí)現(xiàn) 圖片讀取模塊 讀取用戶選擇含有車牌信息圖片 (*.jpg *.bmp *.gif *.png) 的磁盤路徑,根據(jù)路徑載入圖片,并將讀取出來的圖片提供給后續(xù)模塊。 圖片灰度化模塊 通過獲取像素 GBG,使用 cvCvtColor 函數(shù) 加權(quán)值法將圖像進(jìn)行灰度化處理,然后將繪制的灰度化圖片用 cvSmooth 函數(shù)通過 高斯濾波( CV_GAUSSIAN)進(jìn)行去噪,平滑處理。并將繪制后的圖片提供給后續(xù)模塊。 圖 32 圖像原圖 8 圖 33 灰度化圖片 圖 34 平滑處理圖片 圖片二值化模塊 使用 cvThreshold 函數(shù)的 Otsu 算法將原圖分成前景,背景兩個圖像,通過衡量背景與前景的差別值,運(yùn)用最大類間方差選取最佳閥值對圖像進(jìn)行二值化處理,并將繪制好圖片傳給下一模塊。 9 圖 35 二值化處理圖片 車牌定位模塊 首先對二值 化后的圖像進(jìn)行行掃描和列掃描,從而得到車牌區(qū)域。接下來找出每行的非零像素值的個數(shù)統(tǒng)計(jì)出來存儲在數(shù)組中,最后通過投影統(tǒng)計(jì)出所有的圖像像素,并保存投影數(shù)值和最大的。對保存的數(shù)值判斷,如果滿足要求這樣就找出了車牌上水平線,同樣的方法找出下水平線。 車牌左右邊界尋找方法跟上段敘述的上下水平線方法相似,變成縱向掃描統(tǒng)計(jì)像素個數(shù),然后進(jìn)一步確定。在此過程中統(tǒng)計(jì)列非零像素并找出最大連續(xù)統(tǒng)計(jì),這值是車牌左邊界,區(qū)域右邊界同理可得。然后使用 OpenCV 的功能函數(shù)在此區(qū)域設(shè)置感興趣的塊,最后截取出車牌區(qū)域。 圖 36 車牌 定位圖片 10 字符分割模塊 首先要對車牌字符進(jìn)行定位,因?yàn)樵谲嚺评锏诙€字符和第三個字符中間會有一個白色的小點(diǎn),在切割過程中會對識別造成干擾,所以首先要對車牌進(jìn)行第一次垂直投影,定位在第二個字符和第三個字符中間,確定第二個字符的邊界位置和第三個字符的起點(diǎn)位置,這樣就可以將車牌分成兩個部分,然后再次進(jìn)行垂直投影通過閥值來確定分割的大小和位置。 分割完成后,再對分割的圖片進(jìn)行角點(diǎn)處理,點(diǎn)角集中了圖像上的重要形狀信息,能夠是提高圖片特征和邊緣化程度,從而提高字符識別的精度和準(zhǔn)確度,處理完成后繪制好分割 的圖像,傳給下一模塊。 圖 37 車牌分割圖片 字符識別模塊 本系統(tǒng)使用 KNN 算法實(shí)現(xiàn)字符識別, KNN 算法的核心思想是如果一個樣本在特征空間中的 k個最相鄰的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別,并具有這個類別上樣本的特性。 KNN 算法實(shí)現(xiàn)步驟: ( 1) 初始化距離為最大值; ( 2) 計(jì)算位置樣本和每個訓(xùn)練樣本的距離 dist; ( 3) 得到目前 K 個最臨近樣本中的最大距離 maxdist; ( 4) 如果 dist 小于 maxdist,則將該訓(xùn)練樣本作為 K 最近鄰樣本; ( 5) 重復(fù)上述 3 個步驟,直到未知樣本和所有訓(xùn)練樣本的距離都 算完; ( 6) 統(tǒng)計(jì) K 個最鄰近樣本中每個類別出現(xiàn)的次數(shù); ( 7) 選擇出頻率最大的類別作為未知樣本的類別。 4 系統(tǒng)測試 ( 1) 訓(xùn)練樣本 圖 41 訓(xùn)練樣本 11 圖 42 訓(xùn)練樣本 圖 43 訓(xùn)練樣本 ( 2)開啟界面 圖 44 開啟界面 12 ( 3)程序主界面 圖 45 程序主界面 ( 4)圖片選取 圖 46 圖片選取 13 ( 5)圖像識別 圖 47 圖像識別 5 系統(tǒng)結(jié)果分析與展望 通過幾個月的學(xué)習(xí)與實(shí)踐,順利完成了畢業(yè)設(shè)計(jì),在剛開始接觸到這個題目的時候腦海中并沒有具體思路,車牌識別系統(tǒng)涉及到了非 常多的圖像方面有關(guān)的專業(yè)知識,這些都是我在之前并未接觸過的,很多專業(yè)知識我必須從頭開始一步步的去了解和深入,我通過上網(wǎng) 、 圖書館查閱資料以及吳老師的指導(dǎo)之下,分析和研究,解決了很多難題。 車牌識別系統(tǒng)是一個實(shí)際的工程系統(tǒng),要求實(shí)時性高和一定的準(zhǔn)確率,由于實(shí)際生活中采集到的圖像受到到大量隨機(jī)的環(huán)境干擾,以及拍攝角度的影響使得車牌區(qū)域會有各樣的形狀以及色差的無規(guī)則變化,同時每張圖片的質(zhì)量以及清晰度也不一樣,給車牌識別帶來了一定難度,所以要求系統(tǒng)能夠在這樣的條件下也能夠準(zhǔn)確識別,設(shè)計(jì)的過程中使用了二值化,邊緣檢測, 中值濾波等圖像處理方法,而每一種處理方法又可以用不同的算法去實(shí)現(xiàn),算法的選擇對最后的識別結(jié)果是至關(guān)重要的,如對圖像進(jìn)行二值化,算法非常的多,有雙峰法, P 參數(shù)法,迭代法和 OTSU 法等,所以就要對不同的算法進(jìn)行測試,選擇出最適合進(jìn)行車牌識別的算法,這樣就能提高識別的準(zhǔn)確度,同時本系統(tǒng)最后一個字符識別的模塊是一個難點(diǎn),試用了多種方法準(zhǔn)確率都非常的低,最后通過上網(wǎng)查閱資料,選擇了 KNN 鄰近算法進(jìn)行字符識別,提高了識別的準(zhǔn)確率及精度。 系統(tǒng)完成后因?yàn)楦鞣矫嬖?,所以系統(tǒng)還并不完善,還有待于從以下幾個方面進(jìn)一步去完善和提高。 (1)對于傾斜度較高的車牌校正有待進(jìn)一步去研究。 (2)在識別過程中可以綜合多種算法綜合對圖像進(jìn)行處理,提高識別的抗干擾能力和識別的準(zhǔn)確率。 (3)對圖片的質(zhì)量,車牌位置要求進(jìn)一步降低,提高應(yīng)用面。 14 參考文獻(xiàn) [1](加)布蘭切特,(英)薩默菲爾德著,閆鋒欣譯,《 C++ GUI Qt 4 編程(第二版)》,電子工 業(yè)出版社, 202151 [2] 李彬 ,《 Linux Qt GUI 開發(fā)詳解 基于 Nokia Qt SDK》,北京航空航天大學(xué)出版社, 202111 [3] 韓少云,奚海蛟,諶利,《基于嵌入式 Linux 的 Qt 圖形程序?qū)崙?zhàn)開發(fā)》,北京航空航天大
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1