董 健
(鹽城師范學(xué)院 信息工程學(xué)院, 江蘇 鹽城 224005)
Kittler識(shí)別算法在停車場(chǎng)管理系統(tǒng)中的應(yīng)用
董 健
(鹽城師范學(xué)院 信息工程學(xué)院, 江蘇 鹽城 224005)
針對(duì)傳統(tǒng)老舊停車場(chǎng)存在信息化管理的諸多缺陷,在信息化升級(jí)中選用入口高清攝像頭進(jìn)行圖像采集,采用Kittler算法識(shí)別技術(shù)為車庫提供車輛信息,實(shí)現(xiàn)車輛管理、查詢統(tǒng)計(jì)、通訊聯(lián)絡(luò)等功能.通過管理系統(tǒng)的設(shè)計(jì)與開發(fā),滿足用戶需求與體驗(yàn),為城市老舊停車場(chǎng)及車庫的升級(jí)提供了一種有效途徑.
圖像采集; Kittler算法; 車輛管理
隨著經(jīng)濟(jì)和汽車工業(yè)的發(fā)展,我國(guó)大城市機(jī)動(dòng)車數(shù)量迅速膨脹,給城市交通帶來的壓力越來越大.隨著城市機(jī)動(dòng)化水平的日益提高,停車難問題也可能成為實(shí)施國(guó)家汽車產(chǎn)業(yè)政策、城市道路交通政策以及其他相關(guān)政策的“瓶頸”[1-2].停車泊位缺乏,隨意停放現(xiàn)象嚴(yán)重,是當(dāng)前亟待解決的主要問題,同時(shí)也要重視停車設(shè)施存在利用率低的情況.大城市城區(qū)各類停車場(chǎng)中,公建配建的停車場(chǎng)比例較高,但是其泊位使用率卻普遍偏低,主要原因在于許多行政事業(yè)單位沒有智能化的管理系統(tǒng),僅僅面向本單位車輛服務(wù),導(dǎo)致大量的停車位得不到充分利用.停車設(shè)施使用率低多表現(xiàn)在行政事業(yè)單位,即使是對(duì)外開放的公建停車場(chǎng)和路外公共停車場(chǎng),由于停車收費(fèi)價(jià)格以及管理上存在差異,也存在大量停車場(chǎng)車位得不到合理使用.上海市抽樣調(diào)查表明,車主和司機(jī)大多數(shù)都愿意將車入庫停放,但由于停車庫引導(dǎo)不方便、不便于就近停放、缺乏智能化管理、手續(xù)繁多等原因,而選擇在路邊停車[3-4].
本文研究的主要內(nèi)容是針對(duì)當(dāng)今部分老舊停車場(chǎng)缺乏智能化管理的問題,以用戶使用系統(tǒng)方便和安全為最終目標(biāo),設(shè)計(jì)并開發(fā)一款基于C#的智能化的停車場(chǎng)管理系統(tǒng). 該系統(tǒng)可以通過入口的高清攝像頭采集圖像并使用Kittler識(shí)別算法進(jìn)行車牌識(shí)別,可以根據(jù)該停車場(chǎng)管理系統(tǒng)進(jìn)行信息的有效處理和分析,主要包含車輛導(dǎo)引、車位管理、查詢統(tǒng)計(jì)、通訊聯(lián)絡(luò)、快捷付費(fèi)等功能,給老舊停車場(chǎng)的升級(jí)和優(yōu)化提供了一種便捷的途徑.
1.1 系統(tǒng)技術(shù)平臺(tái)架構(gòu)
Winform三層架構(gòu)包括:表示層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問層(DAL). 三層架構(gòu)被廣泛地用于Winform開發(fā)中.這三層之間通常會(huì)借助實(shí)體類來傳遞數(shù)據(jù)[5].Winform三層架構(gòu)的交流模式如圖1所示.
圖1 三層架構(gòu)模式圖
對(duì)于多層架構(gòu),一般都按照預(yù)先新建一個(gè)空的方案.然后分別新加EntityReflect(實(shí)體層)、DALFactory(數(shù)據(jù)訪問層)、Bussiness(中間業(yè)務(wù)層),并設(shè)定Winform為啟動(dòng)專案,該專案為Winform模版,其他全部可作為Class Library模版,設(shè)定各專案間的相互依賴關(guān)系:Bussiness依賴DALFactory、Winform依賴Bussiness,再選取整個(gè)方案編譯.在Bussiness層引用DALFactory、Winform層中引用Bussiness.之后編寫代碼,通過Bussiness復(fù)雜的邏輯處理以及數(shù)據(jù)驗(yàn)證,通過DALFactory層訪問數(shù)據(jù)庫,根據(jù)傳值取得相關(guān)數(shù)據(jù),返回給Bussiness層,之后Bussiness層再將相關(guān)的數(shù)據(jù)顯示在UI層,至此就完成了整個(gè)三層架構(gòu)的流程[6].
1.2 系統(tǒng)功能架構(gòu)設(shè)計(jì)
根據(jù)以上技術(shù)平臺(tái)架構(gòu),結(jié)合系統(tǒng)升級(jí)的需求,系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)主要分為車輛入庫與車輛出庫、數(shù)據(jù)統(tǒng)計(jì)與圖形統(tǒng)計(jì)功能,系統(tǒng)設(shè)置及用戶管理功能,系統(tǒng)軟件的功能結(jié)構(gòu)圖如圖2所示.
圖2 功能結(jié)構(gòu)圖
2.1 車牌的采集與識(shí)別
當(dāng)車輛進(jìn)入車庫時(shí),通過高清攝像頭采集車牌圖像,進(jìn)行車牌號(hào)信息的識(shí)別.識(shí)別時(shí)首先對(duì)拍攝的圖像進(jìn)行二值化操作,然后對(duì)圖像進(jìn)行去噪處理,把孤立的有效值去掉,對(duì)字符進(jìn)行切割后匹配字符,得到車輛的車牌號(hào),實(shí)現(xiàn)過程如圖3所示.
圖3 圖像識(shí)別過程
對(duì)于二值化操作,主要采用Kittler最小錯(cuò)誤分類法進(jìn)行二值化操作[8]. 計(jì)算灰度后為其確定一個(gè)闕值,將闕值T設(shè)定為RGB三分量之和即229,這樣就可以將圖像分為兩部分:大于T的像素群和小于T的像素群.將大于T的像素群的像素值設(shè)定為白色,小于T的像素群的像素值設(shè)定為黑色,這樣整個(gè)圖像就呈現(xiàn)出只有黑白的視覺效果,去除彩色的干擾,如圖4所示.
圖4 二值化過程 圖5 車牌識(shí)別效果
具體功能實(shí)現(xiàn)的核心代碼如下:
for (MinValue=0; MinValue < 256 && HistGram[MinValue]==0; MinValue++);
for (MaxValue=255; MaxValue> MinValue && HistGram[MinValue]==0; MaxValue--);
if (MaxValue==MinValue) return MaxValue; //圖像中只有一種顏色
if (MinValue+1==MaxValue) return MinValue; //圖像中只有兩個(gè)顏色
for (X=MinValue; X <=Y; X++)//從最小值開始遍歷
{PixelBack+=HistGram[X];
OmegaBack=OmegaBack+X * HistGram[X]};//梯度與當(dāng)前點(diǎn)灰度的積
for (X=Y+1; X <=MaxValue; X++)
{}PixelFore+=HistGram[X];
OmegaFore=OmegaFore+X * HistGram[X];}}//梯度與當(dāng)前點(diǎn)灰度的積
采用中值濾波的方式對(duì)圖像進(jìn)行去噪處理. 首先將濾波模板在圖像中漫游,并將模板中心與某個(gè)像素位置重合,讀取模板中各對(duì)應(yīng)像素的灰度值;然后進(jìn)行圖像分割,計(jì)算分割函數(shù)、計(jì)算前景標(biāo)識(shí)、背景標(biāo)識(shí),修改分割函數(shù),使其在前景和后景標(biāo)記位置有極小值,并對(duì)修改后的函數(shù)做分水嶺變換計(jì)算[9];最后進(jìn)行字符匹配操作得到車牌號(hào)碼,具體的效果示意如圖5所示.
2.2 車位的選擇
車位的選擇方式為根據(jù)車牌歸屬區(qū)域自動(dòng)車位選擇,廣播提醒請(qǐng)將調(diào)頻信號(hào)波段調(diào)節(jié)至98Mhz(或其他固定空閑頻率),等待約5 s后進(jìn)行語音信息的推送,系統(tǒng)播放位置信息,通過調(diào)頻FM發(fā)射器將音頻信號(hào)以調(diào)頻信號(hào)的形式發(fā)送出去,車載廣播系統(tǒng)通過接收信號(hào),即可播放車位信息.點(diǎn)擊確定界面上自動(dòng)生成一條存車單號(hào),用戶可以選擇存車單位,車輛類型以及停車場(chǎng)等信息,存車時(shí)間默認(rèn)為當(dāng)前的系統(tǒng)時(shí)間,用戶可以選擇確認(rèn)車輛入庫或者打印入庫單信息.車輛入庫過程中用戶語音獲取停車位置的實(shí)現(xiàn)過程如圖6所示.
圖6 語音推送
具體功能實(shí)現(xiàn)的核心代碼如下:
//引用AspriseOCR.dll、DevIL.dll、ILU.dll這3個(gè)dll
[DllImport("AspriseOCR.dll", EntryPoint="OCR", CallingConvention=CallingConvention.Cdecl)]
public static extern IntPtr OCR(string file, int type);
try
{Image img=Image.FromFile(img-path);//獲取圖片
width=img.Width;//得到圖片寬度
height=img.Height;}//得到圖片高度
catch (Exception ex)
{MessageBox.Show(ex.StackTrace);}
txt-result.Text=Marshal.PtrToStringAnsi(OCRpart(img-path,-1, startX, startY, width, height));//識(shí)別內(nèi)容并顯示
tb-Car-info item=new tb-Car-info();//聲明數(shù)據(jù)層操作對(duì)象
item.Car-type=comboBoxEx2-CLLX.Text//獲取車輛類型的值
item.Store-location=textBoxX8.Text//獲取車輛的存放位置
item.Reason=textBoxX11.Text
item.Car-tingchechang=comboBoxEx5-cftcc.Text.ToString().Trim();//從下拉列表中選擇選中的停車場(chǎng)信息
item.Car-store-time=DateTime.Parse(textBoxX13.Text.ToString().Trim());
//獲取當(dāng)前入庫的當(dāng)前時(shí)間
tb-Car-infoManager tb=new tb-Car-infoManager();
//聲明數(shù)組,存放獲取的值
SqlParameter[] sp=new SqlParameter[];
new SqlParameter("@car-danhao",item.Car-danhao),
new SqlParameter("@car-store-time",item.Car-store-time),
new SqlParameter("@car-danwei",item.Car-danwei),
new SqlParameter("@car-type",item.Car-type),
//執(zhí)行SQL語句,車輛入庫
return SQLHelper.ExecuteNonQuery(CommandType.Text, SQL-CARADD, sp);
SpVoice sp=new SpVoice();//聲明播放對(duì)象
Sp.Voice=sp.GetVoices(string.Empty, string.Empty).Item(0);
//播放音頻
sp.Speak("您好"+textBoxX8.Text+“謝謝!”, SpeechVoiceSpeakFlags.SVSFlagsAsync);
城市車庫管理系統(tǒng)采用C#技術(shù),主要功能采用Kittler識(shí)別算法進(jìn)行車牌圖像的識(shí)別,按照用戶需求基本實(shí)現(xiàn)相應(yīng)功能,如車輛的出入庫、車輛查詢、階段統(tǒng)計(jì)、組織機(jī)構(gòu)管理等.界面簡(jiǎn)潔大方,用戶可以根據(jù)自己的喜好切換界面顏色. 車輛入庫管理過程中,針對(duì)高清車牌圖片進(jìn)行車牌歸屬的識(shí)別,對(duì)照數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行車位的選擇和位置播報(bào). 該系統(tǒng)設(shè)計(jì)思路適合于現(xiàn)有的老舊停車場(chǎng)的改造與升級(jí).
[1] 王艷軍,劉捷,王亞龍,等.基于大數(shù)據(jù)的智能停車場(chǎng)管理系統(tǒng)設(shè)計(jì)[J]. 物聯(lián)網(wǎng)技術(shù),2016(11):23-45.
[2] 丘惠翠.基于《知網(wǎng)》義原空間的文本相似度計(jì)算研究與實(shí)現(xiàn)[D]. 廣州:華南理工大學(xué),2012.
[3] 梁紅梅,陳其賓.小區(qū)高清視頻監(jiān)控和停車場(chǎng)管理系統(tǒng)的設(shè)計(jì)[J]. 自動(dòng)化技術(shù)及應(yīng)用,2016(8):92-95.
[4] 高陽.基于智能交通中的數(shù)字化停車管理系統(tǒng)的研究[J]. 信息系統(tǒng)工程,2016(3):120-123.
[5] Adam Freeman Steven. Standerson Pro ASP.NET MVC 3 Framework[J]. 2012(5):90-100.
[6] Michele Leroux Bustamants.Secure your ASP.NET Apps and WCF services with Windows Card-Space[J]. MSDN Magazine, 2007(6):112-116.
[7] Jeffrey Richter. Applied Microsoft.NET Framework programming[J]. 2013(1):80-90.
[8] 劉萌. 圖像處理在車牌識(shí)別技術(shù)中的應(yīng)用[J]. 電子測(cè)試,2014(1):170-175.
[9] 趙雪春,戚飛虎. 基于彩色分割的車牌自動(dòng)識(shí)別技術(shù)[J].上海交通大學(xué)學(xué)報(bào),2012(1):23-34.
ApplicationofKittlerRecognitionAlgorithminParkingManagementSystem
DONG Jian
(School of Information Engineering, Yancheng Teachers University, Yancheng Jiangsu 224005, China)
Aiming at the defects of information management in the traditional old parking lot, we use the entrance high-definition camera for image acquisition, and use Kittler identification algorithm to provide vehicle information for vehicle management, query statistics, communication and so on. Features. Through the management system design and development to meet user needs and e-xperience for the city's old car park and garage upgrade provides an effective way.
image acquisition; Kittler algorithm; vehicle management
TP311.1
A
1671-6876(2017)03-0232-05
[責(zé)任編輯蔣海龍]
2017-02-02
董健(1980-),男,江蘇鹽城人,講師,碩士,研究方向?yàn)槎嗝襟w信息處理. E-mail: dongj@yctu.edu.cn
淮陰師范學(xué)院學(xué)報(bào)(自然科學(xué)版)2017年3期