国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

智能限高桿提醒系統(tǒng)設(shè)計

2018-09-04 06:27:12陸超柯永斌
電子元器件與信息技術(shù) 2018年6期
關(guān)鍵詞:高桿樹莓車牌

陸超,柯永斌

(淮陰工學(xué)院 電子信息工程學(xué)院,江蘇 淮安 223001)

0 引言

在當(dāng)前的社會中,限高桿的是為了限制車輛通行的高度,用來保護(hù)橋梁、隧道等交通設(shè)施,但是現(xiàn)實生活中所使用的限高桿技術(shù)往往都是剛性的,大多數(shù)的制成材料是用金屬,因為汽車在行駛時具有很大的慣性,如果當(dāng)一個駕駛員駕駛著汽車,而沒有看到這個限高桿。很容易就會撞上去,這樣會造成很嚴(yán)重的交通事故,若只設(shè)置有檢測超高裝置的話,兩輛汽車同時經(jīng)過,不能確定是哪個車輛。所以要加上車牌識別用于提醒具體的車輛[1]。為了解決限高桿的這一不足,本課題目的就是完成一個智能限高桿提醒系統(tǒng)設(shè)計。

1 研究目標(biāo)及內(nèi)容

本課題的研究目標(biāo)是設(shè)計一款基于樹莓派車牌識別的智能限高桿。它可以判斷過來的車輛是否超過限定的高度,抓拍超過限定高度的車輛圖片,并且從中提取車牌信息,然后給予警示。樹莓派利用激光對準(zhǔn)模塊來進(jìn)行對車輛是否超出限定高度,輔以攝像頭來作為抓取車輛信息,通過python3.5和OpenCV,來對含有車牌信息的圖片在本地進(jìn)行車牌識別,通過串口發(fā)送給單片機(jī)。單片機(jī)在接收到發(fā)過來的車牌信息之后,將車牌信息顯示在點陣屏上面,不斷閃爍以警示超高司機(jī)注意安全[2]。

2 系統(tǒng)結(jié)構(gòu)圖

圖1 硬件總體設(shè)計流程圖Fig1 Hardware overall design flow chart

利用激光對射傳感器經(jīng)向檢測,若車輛超過設(shè)定的高度,則樹莓派利用攝像頭進(jìn)行抓拍,對抓拍到的照片進(jìn)行提取載入,使用OpenCV這個開源的計算機(jī)視覺庫來處理。得到車牌的相關(guān)信息,利用串口發(fā)給單片機(jī),單片機(jī)接收到信息后通過無線模塊發(fā)送給另一個節(jié)點單片機(jī),然后在LCD屏顯示該車輛的車牌信息。

圖2 軟件總體設(shè)計流程圖Fig 2 Overall software design flow chart

所要求設(shè)計的系統(tǒng)能夠利用樹莓派拍攝的照片,進(jìn)行數(shù)字圖像處理和使用一些相關(guān)算法,快速地、準(zhǔn)確地識別出車牌信息[3]。車牌識別的設(shè)計流程圖如下:

圖3 車牌識別設(shè)計Fig 3 License plate recognition design

對于圖像的邊緣檢測,我采用了 Canny算子進(jìn)行邊緣檢測。

Canny算子是一種檢測性能較好,應(yīng)用也比較廣泛的一種邊緣檢測算子。它通過圖像信號的函數(shù)的極大值來判定圖像的邊緣監(jiān)測點。

對于Canny算子的邊緣檢測的步驟如下:

消除噪聲。在Canny算子邊緣檢測之前,先要對原始數(shù)據(jù)和高斯模板進(jìn)行卷積,將得到的圖像與最初的圖像比較又模糊,一般來說采用高斯平滑濾波器來鏡像卷積降噪,下面是一個size = 5的高斯內(nèi)核[4]:

計算圖像的梯度幅度和它的方向??梢圆捎靡浑A差分來對圖像灰度的梯度值求取近似。求得圖像在x和y方向的頻道書,用一堆卷積陣列分布作用于相應(yīng)的水平核垂直方向。Canny算子使用的Sobel模板如下[5]:

從上面的式子可以求出卷積后的結(jié)果求出的近似梯度幅度為G:

圖4 邊緣檢測變換圖Fig 4 Transformation diagram of edge detection

3 系統(tǒng)軟件設(shè)計

本系統(tǒng)是整個系統(tǒng)設(shè)計的核心部分,主要的控制環(huán)節(jié),分析環(huán)節(jié),處理環(huán)節(jié)都在本部分完成。下位機(jī)僅僅起到一個顯示的作用。

3.1 系統(tǒng)功能

本系統(tǒng)主要分為4個部分,分別是車輛高度判斷部分、圖像采集部分,車牌識別部分、通信部分。

系統(tǒng)主要分為圖像采集,預(yù)處理,車牌定位,字符分割以及最后的車牌識別部分[6]。首先利用攝像頭進(jìn)行圖像的采集,然后對采集的圖像進(jìn)行一系列的處理,如灰度變換等等。接著進(jìn)行車牌定位,確定車牌所在的圖像區(qū)域。最后對含有車牌的矩形區(qū)域進(jìn)行字符分割。將每個分割出來的字符進(jìn)行模板匹配最后得到車牌信息,完成車牌識別這個流程。

圖5 識別流程圖Fig 5 Identification flowchart

3.2 系統(tǒng)初始化程序設(shè)計

為了能確保樹莓派能夠正常的運行程序,應(yīng)該配置樹莓派的GPIO引腳,串口,以及載入已經(jīng)訓(xùn)練好的SVM模板。初始化流程如圖6所示:

圖6 統(tǒng)初始化流程圖Fig 6 Series initialization flow chart

3.3 車輛高度判斷設(shè)計

車輛高度判斷是基于激光對射模塊的,激光對射模塊安裝在固定的高度,若有超過高度的物體通過,則電平會發(fā)生變化,此時樹莓派不斷讀取相應(yīng)的GPIO管腳的電平值來判斷。

當(dāng)確定有車輛超過限定高度的時候,才執(zhí)行攝像頭,車牌識別等步驟。

3.4 車牌區(qū)域的定位

第一種的方法是基于圖像的邊緣來進(jìn)行檢測,也就是如上面所提到的例如Canny邊緣處理算子,拉普拉斯算子等。第二種是基于車牌的顏色來進(jìn)行判斷的,車牌的長寬比是固定的所以可以確定車牌所在的區(qū)域。車牌定位的流程如圖7所示:

圖7 車牌定位流程圖Fig 7 License plate location flow chart

3.5 車牌的傾斜度調(diào)整

因為含有車牌的圖像如果傾斜的話,不利于圖像的分割。所以它的角度必須被調(diào)整到能夠分割出比較完整地字符為止,調(diào)整車牌的傾斜度可以令所有的字符基本上處于水平狀態(tài)。這有利于對字符之間的分割,間接的提升了車牌識別的準(zhǔn)確程度。經(jīng)過對算法方面的不斷調(diào)整,在于查找水平直方圖波峰的分布,峰圖越密,認(rèn)為是水平方向,最大的波峰為車牌區(qū)域。那塊區(qū)域的是字符的可能性越大。查找查找垂直直方圖波峰,圖像在水平像素位置附近,若字符兩側(cè)的像素的平均值有相當(dāng)大的起伏,則它顯示的圖像存在傾斜,需要進(jìn)行修正[7]。找到含有車牌的區(qū)域之后,要判斷是否傾斜,如果傾斜的角度過大的話對接下來的字符分割以及字符識別會進(jìn)行干擾,所以此時要進(jìn)行角度校正。角度矯正的部分代碼如下:

下面需要計算每個像素點的平均高度,圖像的左半邊的像素點,圖片右半邊的像素點,從這些數(shù)據(jù)中中找到圖像的斜率,圖像重建的斜率,包括一個新的圖像輸出到圖像像素映射時間。使用hough來檢測直線,從而檢測出角度。最后再利用一些相關(guān)的旋轉(zhuǎn)算法,將剛才旋轉(zhuǎn)的車牌進(jìn)行旋轉(zhuǎn)。車牌的傾斜度調(diào)整后的效果如圖8所示:

圖8 調(diào)整后的效果圖Fig 8 The adjusted effect diagram

3.6 車牌字符分割

車牌的字符主要進(jìn)行單字符的分割,主要策略就是主要來檢測像素的綜合變化,字符的顏色與非字符區(qū)域的顏色完全不同,經(jīng)過二值化之后的非字符區(qū)域就是黑色,像素的值比較低[8]。含有字符的區(qū)域白色點比較多,所以含有字符的列的像素和比較高。根據(jù)這個來進(jìn)行字符分割。

具體分割的算法如下:

(1)認(rèn)為水平方向,最大的波峰為車牌區(qū)域。

(2)查找垂直直方圖波峰,去掉車牌上下邊緣1個像素,避免白邊影響閾值判斷。

(3)U和0要求閾值偏小,否則U和0會被分成兩半,車牌字符數(shù)應(yīng)大于6,判斷是否是左側(cè)車牌邊緣。組合分離漢字,去除車牌上的分隔點,可能是固定車牌的鉚釘,判斷最后一個數(shù)是否是車牌邊緣,假設(shè)車牌邊緣被認(rèn)為是1。

車牌字符分割的示意圖如9所示:

圖9 字符分割示意圖Fig 9 Character segmentation diagram

該步驟如下:首先要做的是判斷車牌的字符數(shù)是否大于6,緊接著判斷車牌左側(cè)的邊緣,接著分離出第一個漢字部分[9]。去掉車牌上的分隔點,將剩下的字符一個個分割,判斷最后一個數(shù)是不是邊緣,假設(shè)邊緣為1,若這個1太細(xì)的話則把它當(dāng)做是邊緣來處理。

3.7 字符識別匹配

將上面含有字符圖片所分割出來的字符串圖片,對它做一個個的字符分割,將每個字符串送到已經(jīng)訓(xùn)練好的模板里進(jìn)行識別。需要對模板進(jìn)行訓(xùn)練,將34省的縮寫,以及0到9這十個數(shù)字和A-Z這26個字母進(jìn)行訓(xùn)練。但是因為沒有足夠的樣本,無法進(jìn)行這一步的操作。

使用樣本上的一些限制還有由于樣本的不足,算法方面也有待完善。導(dǎo)致在車牌定位方面有些不準(zhǔn)確,遇到環(huán)境復(fù)雜或者車牌占比很小識別不出來。在字符中樣本的不足,在判斷兩個字符的情況下,會導(dǎo)致混淆,如0和O以及Z與2,還有就是8和B等等。這些都需要很大的樣本來訓(xùn)練,以提高準(zhǔn)確率。

4 警示部分的軟件設(shè)計

警示系統(tǒng)使整個系統(tǒng)的限高警示部分,是主要的輸出信息環(huán)節(jié),展示環(huán)節(jié)。

4.1 系統(tǒng)功能

本系統(tǒng)主要分為兩個部分,分別是串口通信部分,車牌信息顯示部分。樹莓派在往單片機(jī)發(fā)的時候,以GB2312的格式發(fā)送[10]。在GB2312格式中,每個中文字符占據(jù)兩個字節(jié),英文占據(jù)一個字節(jié)。將得到的車牌信息顯示在戶外點陣屏幕上面上面。

圖10 車牌示警部分流程圖FIig 10 Flow chart of license plate warning part

5 系統(tǒng)通信部分設(shè)計

通信協(xié)議以‘#’為起始幀,以‘%’為結(jié)束幀,防止數(shù)據(jù)在傳輸?shù)倪^程中出現(xiàn)亂碼或者錯碼,提高了系統(tǒng)的可靠性。車牌含有一個中文字符,七個英文或者數(shù)字,定義了一個9個字符的數(shù)組。協(xié)議的示意圖如下:

圖11 自定義協(xié)議圖Fig11 Custom Protocol diagram

6 結(jié)論

本文詳細(xì)的介紹了辨識部分的車牌識別本地化處理的過程,以及警示部分的處理。利用SVM支持向量機(jī)實現(xiàn)對字符的訓(xùn)練以及處理,最后還介紹了辨識部分與警示部分之間的通信協(xié)議.

猜你喜歡
高桿樹莓車牌
公路限高桿安全裝置
基于機(jī)器視覺的高桿繡球檢測計數(shù)系統(tǒng)
紅外線報警、緩沖撞限高桿
數(shù)字圖像處理技術(shù)在車牌識別系統(tǒng)中的應(yīng)用
電子制作(2019年12期)2019-07-16 08:45:16
基于樹莓派的騎行智能頭盔設(shè)計
電子制作(2019年11期)2019-07-04 00:34:32
南方羅漢松高桿高效噴淋技術(shù)應(yīng)用
基于樹莓派的遠(yuǎn)程家居控制系統(tǒng)的設(shè)計
電子制作(2017年17期)2017-12-18 06:40:43
第一張車牌
基于MATLAB 的車牌識別系統(tǒng)研究
電子制作(2017年22期)2017-02-02 07:10:11
響應(yīng)面法優(yōu)化紅樹莓酒發(fā)酵工藝
中國釀造(2016年12期)2016-03-01 03:08:19
都兰县| 日照市| 灌阳县| 会东县| 潮安县| 同心县| 万宁市| 江源县| 灌阳县| 阿坝| 万载县| 安康市| 睢宁县| 团风县| 城固县| 河西区| 公主岭市| 遂溪县| 鹰潭市| 奉贤区| 南涧| 宣威市| 赤水市| 平江县| 舒兰市| 秦安县| 濮阳县| 讷河市| 饶平县| 宣化县| 平南县| 江华| 南乐县| 银川市| 苏州市| 南充市| 呈贡县| 屏山县| 绿春县| 永德县| 隆安县|