版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于數(shù)學形態(tài)學的車牌定位方法【摘要】在汽車牌照識別系統(tǒng)中,車牌定位是整個識別模塊實現(xiàn)的前提,目前車牌定位的方法多種多樣,各有所長,但存在著計算量大或定位準確率不高等問題。本文結合數(shù)學形態(tài)學的基本運算,嘗試使用數(shù)學形態(tài)學來實現(xiàn)車牌照識別系統(tǒng)中的關鍵步驟——車牌定位。實驗結果表明此方法算法簡單,且有一定的定位準確率?!娟P鍵詞】數(shù)學形態(tài)學,結構元素,車牌定位AMethod0fLicensePlateLocationBased
0nMorphology【Abstract】 Incarlicenseplaterecognitionsystem,licenseplatelocationisthepreconditionofthewholerecognitionmodule.Nowvariousmethodsareusedinit,eachofwhichhasitsownadvantage.However,suchproblemsasthequantityincalculationorthelowcorrectlocationratearen'tsolved.Thispaperusesmathematicalmorphologycombinedwithitselementalcalculationtorealizethecrucialprocedure—licenseplatelocationincarlicenseplaterecognition.Experimentresultsshowthatsuchmethodcallsimplifythealgorithmandhassomecorrectlocationrate.【KeyWords】Morphology,Structureelement,Licenseplatelocation目錄TOC\o"1-5"\h\z\o"CurrentDocument"第1章緒論 1\o"CurrentDocument"1.1車牌研究概要 1\o"CurrentDocument"1.1.1車牌定位的背景 1\o"CurrentDocument"1.1.2車牌定位的意義 2\o"CurrentDocument"1.2本文研究的內容 3\o"CurrentDocument"1.2.1車牌定位研究的主要內容 4\o"CurrentDocument"1.2.2研究小結 4\o"CurrentDocument"第2章車牌定位算法的研究 5\o"CurrentDocument"2.1傳統(tǒng)的車牌定位算法 5\o"CurrentDocument"2.1.1基于顏色的分割算法 5\o"CurrentDocument"2.1.2基于紋理的分割算法 5\o"CurrentDocument"2.1.3基于邊緣檢測的分割算法 6\o"CurrentDocument"2.1.4基于數(shù)學形態(tài)學的分割算法 6\o"CurrentDocument"2.1.5基于遺傳算法的分割方法 7\o"CurrentDocument"2.1.6基于神經網絡的分割算法 8\o"CurrentDocument"2.2形態(tài)學的基本運算 8\o"CurrentDocument"2.2.1膨脹,腐蝕 9\o"CurrentDocument"2.2.2開,閉運算 10\o"CurrentDocument"2.3本章小結 11\o"CurrentDocument"第3章車牌定位算法的實現(xiàn) 12\o"CurrentDocument"3.1算法處理過程 12\o"CurrentDocument"3.2二值化處理 12\o"CurrentDocument"3.3腐蝕去噪 13\o"CurrentDocument"3.4作膨脹,腐蝕運算 13\o"CurrentDocument"3.5標記連通域 13\o"CurrentDocument"3.6標識并定位車牌 14\o"CurrentDocument"3.7本章小結 15\o"CurrentDocument"第4章實驗結果及分析 16\o"CurrentDocument"4.1實驗說明 16\o"CurrentDocument"4.1.1實驗流程 164.1.2實驗分析 17\o"CurrentDocument"4.2實驗小結 20\o"CurrentDocument"結論 21\o"CurrentDocument"參考文獻 22\o"CurrentDocument"附錄 24致謝 錯誤!未定義書簽。圖目錄TOC\o"1-5"\h\z圖(3.1)實驗過程 12圖(4.1)實驗流程圖 16圖(4.2)原始圖像 17圖(4.3)邊緣二值化結果 17圖(4.4)腐蝕去除噪聲 18圖(4.5)膨脹 18圖(4.6)腐蝕 19圖(4.7)標記連通區(qū)域 19圖(4.8)最終識別結果 20第1章緒論1.1車牌研究概要在汽車牌照識別系統(tǒng)中,車牌定位是整個識別模塊實現(xiàn)的前提,目前車牌定位的方法多種多樣各有所長,但存在著計算量大或定位準確率不高等問題。文章結合數(shù)學形態(tài)學的基本運算,嘗試使用數(shù)學形態(tài)學來實現(xiàn)車牌照識別系統(tǒng)中的關鍵步驟——車牌定位。1.1.1車牌定位的背景隨著21世紀經濟全球化和信息時代的到來,作為信息來源的自動檢測、圖像識別技術越來越受到人們的重視。近年來計算機的飛速發(fā)展和數(shù)字圖像技術的日趨成熟,為傳統(tǒng)的交通管理帶來巨大轉變,先進的計算機處理技術,不但可以將人力從繁瑣的人工觀察,監(jiān)測中解放出來,而且能夠大大提高其精確度,汽車牌照自動識別系統(tǒng)就是在這樣的背景與目的下進行開發(fā)的。目前指紋識別、視網膜識別技術已經到了實用階段;聲音識別技術發(fā)展也相當快,而對汽車牌照等相關信息的自動采集和管理對于交通車輛管理、園區(qū)車輛管理、停車場管理、交警稽查等方面有著十分重要的意義,成為信息處理技術的一項重要研究課題。車輛牌照識別(LicensePlateRecognition,LPR)技術作為交通管理自動化的重要手段,其任務是分析、處理汽車監(jiān)控圖像,自動識別汽車牌號,并進行相關智能化數(shù)據(jù)庫管理。LPR系統(tǒng)可以廣泛應用于高速公路電子收費站、出入控制、公路流量監(jiān)控、失竊車輛查詢、停車場車輛管理、公路稽查、監(jiān)測黑牌機動車、監(jiān)控違章車輛的電子警察等需要車牌認證的重要場合,尤其在高速公路收費系統(tǒng)中,實現(xiàn)不停車收費技術可提高公路系統(tǒng)的運行效率,LPR系統(tǒng)更具有不可替代的作用,因而對LPR車牌識別技術的研究和應用系統(tǒng)開發(fā)具有重要的現(xiàn)實意義。汽車牌照識別系統(tǒng)(VLRPS)是對公路上配置的攝像頭拍攝的照片進行數(shù)字圖像處理與分析,綜合應用大量的圖像處理最新成果和數(shù)學形態(tài)學方法對汽車圖像進行平滑、二值化、模糊處理、邊緣檢測、圖像分割、開運算、比運算、區(qū)域標識等多種手段以提取車牌區(qū)域,進而達到對汽車牌照的精確定位并最終完成對汽車牌照的識別。1.1.2車牌定位的意義在國內,廖金周等用線性濾波器,水平方向和垂直方向投影來確定車牌的位置[1],但是該方法受光照和噪聲的影響很大,葉晨洲等人采用紋理信息和多分類器進行集成的方法來進行車牌的定位和識別[2],但是車牌的紋理信息好多不太明顯,受環(huán)境的影響較大。在國外,使用數(shù)學形態(tài)學[3],邊緣提?。?],梯度特征合成[5],基于神經網絡的顏色分層[6],矢量量化[7]等方法用于車牌定位和識別,例如J.R.Parker等使用5X5的中值濾波器⑻進行預處理,Shen一Castan邊緣算子[9]得到邊緣,然后利用遺傳算法提取車牌,但是遺傳算法收斂速度很慢,MeiYu等人利用模板匹配的方法對車牌文本識別,但是適應性不太好。中科院自動化所文字識別工程中心從1998年以來一直從事車牌識別的研究工作,并且已經開始成功地把研究成果應用到高速公路的收費系統(tǒng)中去。車牌識別系統(tǒng)將有效率地利用現(xiàn)有交通設施,減少交通負荷,保證交通安全,提高運輸效率。中國是一個經濟持續(xù)發(fā)展的發(fā)展中國家,改革開放以來,城市化與汽車化發(fā)展十分迅猛。改革開放前,城市化水平不足19%,目前已經發(fā)展到超過30%,預測2010年將接近50%;機動車擁有量目前已達6000萬輛,并以每年10%的速度持續(xù)增長,預計2010年將達到1.3億輛。中國城市交通的特點是混合交通,目前自行車擁有量超過1.8億輛,如果公共交通服務水平不提高,城市交通結構不完善,自行車擁有量將會有增無減。改革開放以來,中國道路交通設施及管理設施雖然有較大改觀,但跟不上自動車增長速度??傮w發(fā)展水平與發(fā)達國家有較大差距,特別是大多數(shù)城市路網結構不合理,道路功能不完善,道路系統(tǒng)不健全,交通管理設施缺乏,管理水平不高。即使各地都建立了交通控制中心,大多只是實現(xiàn)了監(jiān)視功能,而遠沒有發(fā)揮控制功能的效應。中國城市的大氣質量惡化,已逐步由無煙煤污染轉變?yōu)闄C動車尾氣污染。其中主要原因是交通擁堵、車速下降以及車況差、車輛技術性能低等,致使在世界十大空氣污染最嚴重的城市中,我國就據(jù)之有七。同時,車輛狀況差也影響到城市交通,并已成為制約我國城市交通的重要因素。以車況較好的北京市為例,平均日故障次數(shù)達500次以上,給城市交通帶來了巨大壓力。車牌定位系統(tǒng)的應用范圍:交通路口的智能化交通管理;交通信息的自動采集;機場,港口等出入口車輛管理;警方及其他執(zhí)法機關設立臨時稽查站,對來往車輛實施稽查,自動甄別待查車輛;路橋、隧道等卡口的自動收費系統(tǒng);現(xiàn)代住宅小區(qū)、停車場、重要機關單位的出入口管理等。1.2本文研究的內容車牌區(qū)域的特點:車牌底色往往與車身顏色、字符顏色有較大差異;車牌的矩形區(qū)域內存在較豐富的邊緣,呈現(xiàn)出規(guī)則的紋理特征;車牌內字符之間的間隔比較均勻,字符和牌照底色在灰度上存在跳變;圖像中牌照長寬比的變化有一定范圍。車牌定位中存在的問題:現(xiàn)場影像中的字符與那些統(tǒng)一格式的文字文件或者封面圖片對比,由于外部環(huán)境條件的變化而產生了明顯的差異。因為太陽光的照射,改變了那些字的明亮度,所以從早上到夜晚,這些字符的灰度會隨著時間的推移產生很明顯的變化。同時,由于周圍的各種燈光和陰影,以及其他一些周邊的物體,都會對這些字符產生變化,使人們覺得這些字符看起來很不平衡。此外,不同的天氣環(huán)境,比如下雨,下雪,霧等,也會對這些現(xiàn)場影像中的字符效果產生影響。由于所有攝像頭的位置并不相同,那些關鍵字符與相機的位置變化,使得那些現(xiàn)場的圖片上或多或少地帶有一些三維效果。比如某些字符是從一些非常不標準的角度拍攝的,使得這些字看起來是傾斜的,這會導致那些字符相當難以辨認。在現(xiàn)場圖片中可能會有其他類似的物體,它們與車牌有著相似的形狀與特征,容易產生混淆。(例如:窗框,圍墻,欄桿,樓梯等等)車牌定位研究的主要內容本文將提出一種快速自適應車牌定位算法。在粗定位階段結合車牌區(qū)域的紋理特征和灰度信息定位車牌,接著利用車牌字符的邊緣特點精確定位,為下一階段的車牌字符處理打下了良好的基礎。經實驗證明,本文提出的方法速度較快,滿足整個系統(tǒng)的實時性要求,對車牌大小、長寬比、車牌類型、是否有邊框等車牌信息不敏感,對不同的拍攝方式、不同的拍攝條件、不同的圖像類型同樣具用較好的魯棒性。由于抓住了車牌共有的特征,本方法有著廣泛的適用性,可應用于道路收費、車輛監(jiān)控、停車場管理等諸多領域。研究小結在本章中,對于車牌定位的意義和研究內容及其發(fā)展情況進行了介紹。并對本文的工作進行了說明。隨著數(shù)字圖像處理與計算機視覺領域的發(fā)展,很多應用領域對于圖像特征提取的質量將提出更大的要求?;诙ㄎ凰惴ǖ亩鄻有院蛷碗s性,車牌定位算法的完善性還未形成。本文從當前基于形態(tài)學的問題入手,對現(xiàn)有的車牌定位系統(tǒng)算法提出改進,并與增強算法結合,實驗結果顯示具有很強的現(xiàn)實意義。第2章車牌定位算法的研究傳統(tǒng)的車牌定位算法車牌定位就是從復雜的車輛背景圖像中準確的提取出車牌區(qū)域。如何從車牌序列圖像中準確的獲取車牌位置是車牌自動識別算法實現(xiàn)的關鍵。車牌定位是整個車牌自動識別算法的基礎,車牌定位的準確與否,直接決定了后階段的圖像處理的質量與處理速度、識別的精度與識別的速度。目前,車牌定位主要采用以下幾種方法:基于圖像彩色信息的方法[10];基于紋理分析的方法[11];基于邊緣檢測的方法[12];基于數(shù)學形態(tài)學的定位[13];基于遺傳算法的定位[14];基于神經網絡的定位等[15]。它們有一定的優(yōu)點,但也有不足之處。2.1.1基于顏色的分割算法該方法是根據(jù)不同顏色車牌出現(xiàn)的概率,合理利用投影技術,進行統(tǒng)計分析,而后定位和分割出車牌。該算法具有速度快、準確率高、適應性強等特點。但是,該方法在車牌區(qū)域顏色與附近區(qū)域顏色非常相近時,車牌的定位誤差會有所增加。在進行車牌定位以前,需要對圖像進行預處理,增大圖像的對比度。由于我國車牌有多種顏色格式,且受天氣光照等影響,所以需要先將彩色圖像轉換為灰度圖像。2.1.2基于紋理的分割算法紋理分析算法描述:首先進行行掃描,根據(jù)上述的關于車牌線段的定義,找出圖像中每一行所含有的車牌線段。記錄下它們的起始坐標和長度:如果有連續(xù)若干行且行數(shù)大于某一閾值R,滿足每一行存在不少于一個的車牌線段。則認為找到了車牌的行可能區(qū)域。這樣,就確定了可能存在車牌的區(qū)域的起始行和高度。進行列掃描,以確定車牌候選區(qū)域的起始行、高度和起始列、寬度。繼續(xù)在其他可能存在車牌的區(qū)域尋找,直至找到所有的車牌候選區(qū)域。然后根據(jù)車牌的長,寬,長寬比這些車牌的幾何特征進一步刪除偽車牌,如果還是有多個車牌候選區(qū)域。則需要用其他方法進一步判別。利用字符紋理定位車牌,對于光照偏弱、偏強或不均勻,牌照傾斜和變形等情況定位較好。但應用于背景復雜的圖像時,很容易把一些紋理分布比較豐富的其他非車牌區(qū)域也定位進來,產生包含真車牌在內的較多的車牌候選區(qū)域。通過結合垂直投影的方法可以彌補紋理分析法的不足。2.1.3基于邊緣檢測的分割算法車牌字符區(qū)域灰度頻率變化是車牌區(qū)域最穩(wěn)定的特征。所以可以利用它的變化來進行車牌定位.即首先對車輛圖像進行邊緣增強,再利用水平掃描線進行車牌區(qū)域的檢測。邊緣檢測的算子很多,例如:Sobel算子、Roberts算子、Prewitt算子、Laplacian算子等。這些算于都不是專門用于檢測垂直邊緣的,且運算量較大。一般采用一種水平模板算子與圖像進行卷積然后再與原圖像作差分運算,當差分值大于某一門限值就認為它是邊緣目標,否則是背景。該方法的定位準確率較高,反映時間快,能有效去掉噪聲,適合于包含多個車牌的圖象,并且在多車牌圖像的情況下定位速度也很快。但是對車牌嚴重褪色的情況,南于檢測不到字符筆畫的邊緣會導致定位失敗定位后的區(qū)域在外界有干擾以及車牌傾斜時比車牌稍大。2.1.4基于數(shù)學形態(tài)學的分割算法基于數(shù)學形態(tài)學的車牌區(qū)域粗定位。主要是根據(jù)車牌整體特征從水平方向初步確定車牌位置,它不能精確確定車牌左右邊界的位置。所以必須輔以其余的定位方法進行精定位。而基于字符邊緣特征的車牌區(qū)域精定位,可以利用車牌微觀特征進一步從縱向上精確確定車牌位置。所以,這兩種定位方法常常結合來使用。本文主要研究的就是這種算法。2.1.5基于遺傳算法的分割方法遺傳算法是在達爾文進化論和盂德爾遺傳變異理論基礎上發(fā)展起來的一種隨機搜索尋優(yōu)算法,它通過模擬生物進化的形式,完成對某個目標函數(shù)的全局優(yōu)化。在車牌定位過程中.需要對待定區(qū)域進行特征提取處理。搜索空間很大,遺傳算法能夠快速搜索到全局最優(yōu)值。遺傳算法的處理過程一般為:將待求解問題的解進行參數(shù)編碼,并給出針對該參數(shù)編碼的適度函數(shù)。適度函數(shù)值的全局最大值對應問題的全局最優(yōu)解:生成初始種群,一般為一組隨機生成的可能解;計算種群個體適度值,并判斷是否滿足算法停止條件,是則退出并輸出當前最優(yōu)解:根據(jù)適度函數(shù)進行選擇操作,從種群中選擇進入下一代的個體,被選擇的概率正比于個體的適度函數(shù)值;對選擇后的個體以重組概率P兩兩進行重組生成新個體對新個體以變異概率進行變異操作;轉(3)繼續(xù)執(zhí)行。根據(jù)在待定區(qū)域獲得的紋理特征向量。將其與車牌的紋理特征向量進行比較就能得到該待定區(qū)域為車牌區(qū)的可能概率。傳統(tǒng)算法進行特征提取的時候,當目標圖像質量較差或者有較大的退化時,不是很有效。而遺傳定位算法能夠對全圖的待定目標區(qū)域圖像進行小范圍的圖像增強和提取,實際應用也表明該方法在圖像質量較差時對目標區(qū)域都有很好的目標增強效果。對夜間迎車頭燈時抓拍的圖像定位很成功。但仍然具有進一步算法優(yōu)化的潛力??梢栽谒惴ㄖ屑尤脒m當?shù)木植克阉魉阕觼磉M一步改善算法的性能。2.1.6基于神經網絡的分割算法多層前饋人工神經網絡是最流行、最成熟的人工神經網絡。誤差反向傳播(BP)算法又是應用中首選的算法。BP算法是由兩部分組成:信息的正向傳遞與誤差的反向傳播。在正向傳播的過程中,輸人信息從輸人層經隱含層逐層計算傳向輸出層。每一層神經元的狀態(tài)只影響下一層神經元的狀態(tài)。如果在輸出層沒有得到期望的輸出,則計算輸出層的誤差變化值,然后轉向反向傳播,通過網絡將誤差信號沿原來的連接通路反傳回來修改各層神經元的權值直至達到期望的目標。該定位流程為:采樣窗口的選取窗口應為長方行,尺寸不能太大,否則神經網絡規(guī)模太大太小的話不能充分提取車牌特征;樣本圖像的選擇用什么樣的樣本來訓練網絡。網絡就具備了認知該類樣本的能力。所以對車牌和背景反復采樣,并且注重不同條件下的各種圖像,以實現(xiàn)網絡的泛化;搜索的策略在用采樣窗口遍歷圖像時,用自下而上的策略更優(yōu)越一些。因為車牌一般位于圖像的中下方,而且車牌上方對車牌定位的干擾比下方的多;定位速度的提高可以采用改變步長的遍歷方法來提高速度:若當前窗口對應輸出較低,則跳過一個甚至數(shù)個窗口的距離再采樣計算;反之則依次遍歷。這樣速度會有較大提高。該方法利用牌照的長寬比、面積、面積與周長比來區(qū)分真正的牌照區(qū)域與類牌照區(qū)域。該方法具有較強的自適應能力,可以在較復雜背景中精確定位大小不同的車牌。并且通過對傳統(tǒng)的BP網絡的改進。一定程度上提高了定位的精度和速度此方法要求圖像中的牌照尺寸基本不變,一旦圖像中的牌照尺寸發(fā)生了較大的變化,必須對神經網絡重新進行訓練。定位效果比較好,但計算量較大。形態(tài)學的基本運算數(shù)學形態(tài)學是一種應用于圖像處理和模式識別領域的新方法。形態(tài)學是生物學的一個分支,常用它來處理動物和植物的形狀和結構。1964年,法國學者Serra對鐵礦石的巖相進行定量分析,以預測鐵礦石的可扎性。幾乎同時,Matheron研
究了多孔介質的幾何結構、滲透性及兩者的關系,他們的研究成果直接導致數(shù)學形態(tài)學的形成。隨后Serra和Matheron在法國共同建立了Fontainebleau數(shù)學形態(tài)學研究中心。在以后幾年的研究中,他們逐步建立并完善了數(shù)學形態(tài)學的理論體系,此后,又研究了基于數(shù)學形態(tài)學的圖像處理系統(tǒng)。數(shù)學形態(tài)學是一門建立在嚴密的數(shù)學理論基礎上的科學。Matheron于1975年出版的《RandomSetsandIntegralGeometry》一書中嚴謹而詳細地論證了隨機集論和積分幾何,為數(shù)學形態(tài)學奠定了理論基礎。1982年,Serra出版的專著《imageAnalysisandimageprocessing》是數(shù)學形態(tài)學發(fā)展的里程碑,它表明數(shù)學形態(tài)學在理論上已經趨于完備,在實踐應用中不斷深入。此后,經過科學工作者的不斷努力,Serra主編的紅mageAnalysisandMathematicalMorphology》第2、3卷相繼出版。1986年,CVGIP(ComputerVisionGraphicsandImageProcessing)發(fā)表了數(shù)學形態(tài)學專輯,從而使得數(shù)學形態(tài)學的研究呈現(xiàn)了新的景象。同時,F(xiàn)ontainebleau研究中心的學者們又相繼提出了基于數(shù)學形態(tài)學方法的紋理分析模型系列,從而使數(shù)學形態(tài)學的研究前景更加光明。隨著數(shù)學形態(tài)學邏輯基礎的發(fā)展,其應用開始向邊緣學科和工業(yè)技術方面發(fā)展。數(shù)學形態(tài)學的應用領域已經不限于傳統(tǒng)的微生物學和材料學領域,80年代初又出現(xiàn)了幾種新的應用領域,如:工業(yè)控制、放射醫(yī)學、運動場景分析等。形態(tài)學圖像處理的基本思想,是利用一個稱為結構元素(StructureElement)的“探針”收集圖像的信息。作為探針的結構元素,可直接攜帶知識(形態(tài)、大小、甚至加入灰度和色度信息),來探測研究圖像的結構特點。2.2.1膨脹,2.2.1膨脹,腐蝕腐蝕是數(shù)學形態(tài)學最基本的運算。腐蝕表示用某個結構元素對一個圖像進行探測,以便找出在圖像內部可以放下該結構元素的區(qū)域。AQB={x:B+xuA} (2.1)其中A稱為輸入圖像,B為結構元素。AQB由將B平移x但仍包含在A內的所有點x組成。如果將B看作為模板,那么AQB則由在平移模板的過程中,所有可以填入A內部的模板的原點組成。一般地,可以得到下列性質:如果原點在結構元素的內部,則腐蝕后的圖像為輸入圖像的一個子集;如果原點在結構元素的外部,那么,腐蝕后的圖像則可能不在輸入圖像的內部。形態(tài)學的第二個基本運算是膨脹,膨脹是腐蝕運算的對偶運算??梢远x為:A十B={y+b:bgB} (2.2)因而,膨脹可以通過相對結構元素的所有點平移輸入圖像,然后計算其并集得到。膨脹也可以通過對補集的腐蝕來定義。因為腐蝕表示對圖像內部作濾波處理,而膨脹則表示對圖像的外部作處理。如果結構元素為一個圓盤,那么膨脹可以填充圖像中的孔,而腐蝕則可以消除圖像中小的成分。值得注意的是,結構元素的大小和形狀對腐蝕和膨脹的結果會產生不同的影響。開,閉運算在形態(tài)學圖像處理中,除了腐蝕和膨脹這兩種基本運算之外,還有兩種二次運算即開運算及閉運算也起著非常重要的作用。利用圖像B對圖像A作開運算,其定義為:AoB=(AQB)十B (2.3)或如下定義:AoB=Y{B+x:B+xuA} (2.4)上式表明,開運算可以通過計算所有可以填入圖像內部的結構元素平移的并求得。即對每一個可填入位置作標記,計算結構元素平移到每一個標記位置時的并,便可得到開運算結果。事實上,這正是先作腐蝕,然后作膨脹運算的結果。如果結構元素為圓盤,那么開運算可以有兩個作用:(1)利用圓盤作開運算起到磨光內邊緣的作用,即可以使圖像的尖角轉化為背景;(2)圓盤的圓化作用可以得到低通濾波的效果。閉運算是開運算的對偶運算,即先作膨脹然后再作腐蝕。利用擬作閉運算定義為:A?B=[A十B]OB (2.5)2.3本章小結縱觀國內外文獻,車牌定位算法的發(fā)展方向還是和整個車牌識別系統(tǒng)趨于完善的方向還是一致并相輔相成的,只有不斷地從每一步的不斷完善做起,才可能有更快更好的算法產生。對車牌定位方法的評價衡量主要是從定位分割精確率和算法的精干靈活的角度。適用于任意背景、位置和光照下的汽車像,各種性能都滿足要求的算法目前還沒有。因此,綜合應用多種算法進行定位分析既是客觀實際的需要,也是我本次學習和研究工作的重點。第3章車牌定位算法的實現(xiàn)3.1算法處理過程車牌定位算法的處理過程如圖所示圖(3.1)實驗過程3.2二值化處理在作形態(tài)學處理之前,首先必須對輸入的包含車牌的圖像作二值化處理。經過實驗發(fā)現(xiàn),使用傳統(tǒng)的全局閾值或局部閾值的二值化方法,效果不理想,為此采用垂直邊緣提取的二值化方法。采用這種二值化方法的另一個原因是,可直接應用形態(tài)學處理而無須判斷車牌底色。由于車牌存在黑底自字和白底黑字兩種類型,常規(guī)的二值化處理后,必須分清形態(tài)學究竟是在二值圖中的前景還是背景中作處理。由此可見,無論哪種底色類型的車牌,這種邊緣二值化提取的結果都保留在前景(白色)中,因此,后續(xù)的形態(tài)學處理可對二值圖像的前景作統(tǒng)一處理。本文采用基于垂直邊緣檢測與閾值分割相結合的車牌定位方法,圖像的邊緣是圖像的最基本特征,邊緣是其周圍的像素灰度有階躍變化。牌照區(qū)域的字符和背景就有明顯的邊緣,而且邊緣的個數(shù)也很多,這是牌照區(qū)域區(qū)別于其他區(qū)域的根本特之一,也是本算法的基本依據(jù)。物體邊緣是由灰度不連續(xù)性反映的,經典的邊緣提取方法是考察圖像的每個像索在某個領域內灰度的變化,利用邊緣鄰近一階或二階方向導數(shù)變化規(guī)律來提取。本算法采用閾值比較,取threshold=80.0,周圍的象素與其比較,通過比較的結果來判斷這個象素是否轉化為黑或者白,這樣再對圖像進行處理時,圖像的幾何性質只與“0”和,“1”的位置有關了,不再涉及到像素的灰度值,從而使后面的處理變得簡單,且數(shù)據(jù)的壓縮量很大,給存儲和處理都帶來了很大的方便,同時也提高了系統(tǒng)的經濟實用性。3.3腐蝕去噪對已二值化的圖像結果作濾波,可去除一些噪聲。許多方法都可以用在這個步驟。為了消除噪聲而采用濾波的方法,可分為空域濾波和頻域濾波。按照空域濾波器的功能又可以分為平滑濾波器和銳化濾波器,平滑濾波器常用的方法有鄰域平均法、選擇平均法、中值濾波、自適應濾波等其中,去噪處理多采用中值濾波,能獲得較好的效果。實際應用中可能采用傳統(tǒng)的鄰域平均平滑算法,也可能采用某些改進的算法,如應用灰度差倒數(shù)加權算法進行濾波處理。這里采用形態(tài)學的濾波方法,即使用一定大小的結構元素對圖作腐蝕運算。根據(jù)實際情況,還可以使用帶有方向性的結構元素作腐蝕濾波。3.4作膨脹,腐蝕運算在上面兩步的基礎上,可以開始作形態(tài)學處理。首先使用特定大小的結構元素作膨脹運算,然后使用同樣大小的結構元素再作腐蝕運算,使車牌所在區(qū)域形成連通的區(qū)域??梢?,經過形態(tài)學的運算,車牌區(qū)域已形成閉合的連通區(qū)域。其實這正是形態(tài)學閉運算作用的結果。3.5標記連通域如果圖像中有許多物體,如圖2(c)所示,要把我們感興趣的物體從背景中分離出來,則必須確定連通成分,并作連通成分標記。要將一幅圖像中所有被標記的點組合成物體圖像,這里先假設組成物體的點在空間上是非常接近的,利用空間接近概念可以嚴格定義,利用此定義研究的算法可以把空間上非常接近的點聚合在一起,構成圖像的一個成分。圖像中,背景用“0”表示,前景用“I”表示。對每個連通的前景區(qū)域進行標志,標號從“2”開始遞增,背景保持不變。于是,我們將采用如下遞歸連通標記算法:⑴設起始標號為label=l,原始圖像為f(i,j),其中i=l,2..,PlateHeight;j=l,2-■,PlateWidth。從起始點(l,1)開始依次考察原圖中的每個點f(i,j)?如果f(i,j)=l,調用子函數(shù)find(id);否則,考察下一個點,直至終點f(PlateHeight,PlateWidth)。子函數(shù)find(i,j)完成下述功能:考察當前點f(i,j)。如果f(i,j)=1,跳轉至2);否則,跳出子函數(shù);考察當前點ff(i,j)的四鄰域,如果其中至少有一個鄰域的值大于“1”,則將標號賦給當前點,f(i,j)=label;否則,label=label+1,f(i,j)=label;將f(i,j)的四鄰域f(i-1,j),f(i+1,j),f(i,j-1),f(i,j+1)分別作為當前點,依次遞歸調用子函數(shù)find(i-1,j),find(i+1,j),find(i,j-1),find(i,j+1)。連通標記算法可以找到圖像中的所有連通成分,并對同一連通成分的所有點分配同一標記。上述連通標記算法結束后,得到月個標記的連通區(qū)域,第i個連通區(qū)域的像素值標記為i(i=1,2,…,n)。3.6標識并定位車牌在連通區(qū)域標記的基礎上,我們可以計算出每個連通區(qū)域的外接矩形框,并且利用車牌的先驗知識,確定車牌區(qū)域的位置。設第i個連通區(qū)域的寬高比為:3.1)ratio①3.1)Height(i)式中Width(i)、Height(i)分別為第i個連通區(qū)域的寬度和高度。第i個區(qū)域的面積為area(i)。根據(jù)車牌的先驗知識,采用的車牌區(qū)域的判定式如下:S(i)<minS(n) (3.2)n<i則判定第i個連通區(qū)域為車牌區(qū)域。
上式中:3.3)rs和as分別為標準車牌的寬高比和面積。a和P為比例因子。由于連通標記S(i)=a\ratio(i)-rs+上式中:3.3)rs和as分別為標準車牌的寬高比和面積。a和P為比例因子。由于連通標記后去除了一些較小的連通區(qū)域,因此a取1,P取0可簡化為:3.4)S(i)=\ratio(i)-3.4)由此判定式,可得到正確的車牌區(qū)域判定結果。3.7本章小結上述基于形態(tài)學處理的車牌定位方法,可以較好地確定圖像中車牌的位置,且算法簡單、實時性好,具有較好的運用前景。此方法不僅可以處理由單行字符組成的車牌,同樣也可適用于由雙排字符組成的車牌。第4章實驗結果及分析4.1實驗說明本課題所采用的圖像均為帶車牌的圖像,我們通過對圖像進行二值化、細化定位,提取后產生只保留有一個車牌位置的圖像。在形態(tài)學算法的應用中,采用了遞歸連通標記算法的方法進行快速的連通區(qū)域標記。在實驗結果部分,所有輸出圖像都與原圖像進行了比較,并且執(zhí)行不同次數(shù)后的效果。從實驗的結果看來我們的算法效果是顯著的。4.1.1實驗流程我們可以采用流程圖簡單地描述整個實驗過程,如圖4-1所示:圖(4.1)實驗流程圖其中,在各個實驗環(huán)節(jié),我們還需補充以下幾點:二值化:目的是把車牌圖像變成“0”和“1”取值的二值圖,即把車牌圖像的紋線和背景區(qū)分開來。這樣再對圖像進行處理時,圖像的幾何性質只與“0”和,“1”的位置有關了,不再涉及到像素的灰度值,從而使后面的處理變得簡單,且數(shù)據(jù)的壓縮量很大,給存儲和處理都帶來了很大的方便,同時也提高了系統(tǒng)的經濟實用性。在這里,采取了邊緣提取二值化,使得在處理時不用考慮車牌的底色以及與周圍環(huán)境色的相差導致二值化提取的不同。圖像腐蝕去噪:圖像去噪是圖像預處理中的重要內容,直接影響著車牌系統(tǒng)的
準確率?,F(xiàn)有的對圖像進行去噪的方法有:中值濾波、小波去噪、形態(tài)學濾波等,本文采用形態(tài)學濾波,它的關鍵是結構元素的選用,過大或者過小的元素都會導致車牌區(qū)域無法形成閉合的連通區(qū)域。4.1.2實驗分析圖(4.2)原始圖像這是原始圖像,一般的停車場,高速公路收費站等基本都是過攝像頭得到如上的基本BMP位圖。圖(4.3)邊緣二值化結果經過了邊緣二值化,圖像已經變?yōu)楹诎锥?,這時不能明顯地看出車牌所在位置,同時圖像上存在大量噪聲影響了判定。
圖(4.4)腐蝕去除噪聲這一步是腐蝕去噪,這一步與下面兩步中,最重要的是結構兀素的選取,過大或者過小都會影響判定。經過這一步的運算,大部分的噪聲都已經去除,只有小部分比較大的還存在。圖(4.5)膨脹繼續(xù)對圖像進行膨脹運算,使得圖像上的車牌部分形成了連通區(qū)域。
圖(4.6)腐蝕腐蝕運算,進一步去除了圖像上絕大部分噪聲,使得圖像可以進行遞歸連通算法來標記連通區(qū)域。圖(4.7)標記連通區(qū)域這里進行了遞歸連通算法運算,將圖像上大于一定范圍的連通區(qū)域都進行了標記,而那些尚未去除的噪聲則被排除了標記范圍。圖(4.8)最終識別結果最后一步,通過對連通區(qū)域的長寬比例進行判斷,將長寬比例符合車牌比例范圍左右的區(qū)域進行標識,最終判定車牌所在區(qū)域,進而完成了整個車牌定位算法。4.2實驗小結在本章中,我們給出了基于數(shù)學形態(tài)學的車牌定位算法的定位效果。通過上述圖片,我們可以看出,測試效果明顯,實驗的目的已經達到。結論本文的車牌定位系統(tǒng)算法主要內容包括以下部分:(1)邊緣檢測二值化;(2)腐蝕去噪;(3)膨脹,腐蝕形成連通區(qū)域;(4)遞歸連通標記算法標記連通域;(5)標識,定位車牌。經實驗證明,本文提出的方法速度較快,滿足整個系統(tǒng)的實時性要求,對車牌大小、長寬比、車牌類型、是否有邊框等車牌信息不敏感,對不同的拍攝方式、不同的拍攝條件、不同的圖像類型同樣具用較好的魯棒性。由于抓住了車牌共有的特征,本方法有著廣泛的適用性,可應用于道路收費、車輛監(jiān)控、停車場管理等諸多領域。上述基于形態(tài)學處理的車牌定位方法,可以較好地確定圖像中車牌的位置,且算法簡單、實時性好,具有較好的運用前景。此方法不僅可以處理由單行字符組成的車牌,同樣也可適用于由雙排字符組成的車牌。在基于形態(tài)學的車牌定位方法中,使用過大或過小的結構元素,都無法使車牌區(qū)域形成閉合的連通區(qū)域。因此,結構元素的選取顯得非常重要。經過測試發(fā)現(xiàn),結構元素的大小和車牌中字符的大小存在一定關系。因此,為了進一步提高基于形態(tài)學的車牌定位方法的精度,應嘗試采取自適應的形態(tài)學處理方法。參考文獻[美]RafaelC.Gonzalez,RichardE.Woods.數(shù)字圖像處理(第二版),[M],電子工業(yè)出版社,2003.周長發(fā),精通VisualC++圖像處理編程,[M],電子工業(yè)出版社,2006.Jun-WeiHsieh,Shih-HaoYu,Yung-ShengChen,Morphology-basedlicenseplatedetectionfromcomplexscenes[C].PatternRecognition,2002.Proceedings.16thInternationalConferenceon.GuL.,KanekoT.,TanakaN.,HaralickR.M..Robustextractionofcharactersfromcolorsceneimageusingmathematicalmorphology[C],PatternRecognition,1998.Proceedings.FourteenthInternationalConferenceon.盧雅琴,鄔凌超?基于數(shù)學形態(tài)學的車牌定位方法[J]?計算機工程,2005,31(3).李波,曾致遠,付祥勝.基于數(shù)學形態(tài)學和邊緣特征的車牌定位算法J].視頻技術應用與工程,2005,7.嚴寶民,于萬波,魏小鵬.汽車牌照定位研究綜述[J].大連大學學報,2002,23(2).劉偉銘,趙雪平.一種基于掃描行的汽車牌照定位算法[J]。計算機工程與應用,2004,6.燕鵬,劉長松,丁曉青.復雜背景下的汽車牌照自動識別系統(tǒng)[J].電視技術,2005,6.葉茂亮,劉長松,丁曉青,等.基于筆畫分析和形態(tài)學的汽車牌照定位算法[J].電視技術,2005,5.趙雪春,戚飛虎.基于彩色分割的汽車自動識別技術[J].上海交通大學學報,1998,32(10).崔屹.圖像處理與分析一數(shù)學形態(tài)學方法及應用[M].北京:科學出版社,2000.OstuN.AThresholdSelectionMethodfromGray-LevelHistograms[J],IEEETransactions,Systems,ManandCyber-netics,1979,SMC-9(1):62-66.[14]HsiehJun-wei,YuShih-Hao,Yung-ShengChen.Morphology-basedLicensePlateDetectionfromComplexScenes[C].In:Proceedingsof16thInternationalConferenceonPatternRecognition,2002:176-179.[15]廖金周,宣國榮.車輛識別的自動分割[J].微型電腦應用,1999,7.附錄車牌定位程序模塊//Imageprocess.cpp:implementationoftheCImageprocessclass.//CopyRightbywangui,onlyforstudy2007.1//////////////////////////////////////////////////////////////////////#include"stdafx.h"#include"Draw24.h"#include"Imageprocess.h"#include"math.h"#ifdef_DEBUG#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE_#definenewDEBUG_NEW#endifexternBYTE*m_pDib;externint m_Width;externint m_Height;externCStringCurrentPathName;////////////////////////////////////////////////////////////////////////Construction/Destruction//////////////////////////////////////////////////////////////////////CImageprocess::CImageprocess(){m_pDib=NULL;lpBitmap=NULL;}CImageprocess::~CImageprocess(){close();}BOOLCImageprocess::Open(constchar*pzFileName){CStringCurrentName(pzFileName);if(CurrentName.Find(".bmp")==-1&&CurrentName.Find(".BMP")==-1){AfxMessageBox("不是位圖,不能打開!");returnFALSE;}CFilefile;if(!file.Open(pzFileName,CFile::modeRead|CFile::typeBinary))returnFALSE;if(file.Read((void*)&bmpfh,sizeof(BITMAPFILEHEADER))!=(UINT)sizeof(BITMAPFILEHEADER)){file.Close();returnFALSE;}if(file.Read((void*)&bmpih,sizeof(BITMAPINFOHEADER))!=(UINT)sizeof(BITMAPINFOHEADER)){file.Close();returnFALSE;}//清空內存close();m_Width=bmpih.biWidth;m_Height=bmpih.biHeight;length=m_Width*3;if(length%4)length=(m_Width*3/4+1)*4;intsize;size=bmpfh.bfSize-sizeof(BITMAPFILEHEADER)sizeof(BITMAPINFOHEADER);if(bmpih.biBitCount==24){m_pDib=newBYTE[size];file.ReadHuge(m_pDib,size);}else{if(bmpih.biBitCount!=8){AfxMessageBox("無效位圖,不能打開!");file.Close();returnFALSE;unsignedintPaletteSize=1<<bmpih.biBitCount;if(bmpih.biClrUsed!=0&&bmpih.biClrUsed<PaletteSize)PaletteSize=bmpih.biClrUsed;lpBitmap=newBYTE[size];file.ReadHuge(lpBitmap,size);RGBQUAD*pPalette=(RGBQUAD*)lpBitmap;BYTE*lpBits=lpBitmap+sizeof(RGBQUAD)*PaletteSize;intlwidth=m_Width;if(m_Width%4)lwidth=(m_Width/4+1)*4;//24位位圖內存intnfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+length*m_Height;m_pDib=newBYTE[length*m_Height];memset(m_pDib,0,length*m_Height);bmpfh.bfType='B'+'M'*256;bmpfh.bfSize=nfSize;bmpfh.bfReserved1=1;bmpfh.bfReserved2=0;bmpfh.bfOffBits=54;bmpih.biSize=sizeof(BITMAPINFOHEADER);bmpih.biWidth=m_Width;bmpih.biHeight=m_Height;bmpih.biPlanes=1;bmpih.biBitCount=24;bmpih.biCompression=BI_RGB;bmpih.biSizeImage=0;bmpih.biXPelsPerMeter=0;bmpih.biYPelsPerMeter=0;bmpih.biClrUsed=0;bmpih.biClrImportant=0;inti,j,p1,p2,Palette;for(i=0;i<m_Height;i++){for(j=0;j<m_Width;j++){p1=i*lwidth+j;p2=i*length+j*3;if(lpBits[p1]<PaletteSize)Palette=lpBits[p1];elsePalette=0;m_pDib[p2]=pPalette[Palette].rgbBlue;m_pDib[p2+1]=pPalette[Palette].rgbGreen;m_pDib[p2+2]=pPalette[Palette].rgbRed;}}}file.Close();returnTRUE;}voidCImageprocess::Draw(CDC*pDC,intnWidth,intnHeight){if(!m_pDib)return;m_hDrawDib=DrawDibOpen();DrawDibRealize(m_hDrawDib,pDC->GetSafeHdc(),TRUE);DrawDibDraw(m_hDrawDib,//hddpDC->GetSafeHdc(),//hdc0,//xDst圖象在窗口中的位置0,//yDstm_Width,//dxDst圖象的顯示長寬m_Height,//dyDst可自由拉伸&bmpih,m_pDib,0,//xSrc0,//ySrcm_Width,//dxSrcm_Height,//dySrcDDF_BACKGROUNDPAL);DrawDibClose(m_hDrawDib);m_hDrawDib=NULL;}BOOLCImageprocess::Save(constchar*szFileName){if(m_pDib==NULL){AfxMessageBox("內存空空如也!檢查是否有誤!");returnFALSE;}CStringFileName(szFileName);if(FileName.Compare(CurrentPathName)==0){if(AfxMessageBox("覆蓋原文件?",MB_OKCANCEL)!=IDOK)returnFALSE;}CFilefile;if(!file.Open(szFileName,CFile::modeWrite|CFile::typeBinary|CFile::modeCreate))returnFALSE;file.Write((void*)&bmpfh,sizeof(BITMAPFILEHEADER));file.Write((void*)&bmpih,sizeof(BITMAPINFOHEADER));intsize;size=bmpfh.bfSize-sizeof(BITMAPFILEHEADER)sizeof(BITMAPINFOHEADER);file.WriteHuge(m_pDib,size);file.Close();returnTRUE;}BOOLCImageprocess::Process(){//邊緣二值化inti,j,k,m;float**tempA;BYTE*FS,*PZ,*imagetemp;intsize=bmpfh.bfSize-sizeof(BITMAPFILEHEADER)sizeof(BITMAPINFOHEADER);FS=newBYTE[size];PZ=newBYTE[size];imagetemp=newBYTE[size];memcpy(imagetemp,m_pDib,size);tempA=new(float*[m_Height]);for(k=0;k<m_Height;k++)tempA[k]=new(float[m_Width]);doubletempx[3],tempy[3],D[3],tempb;for(i=1;i<m_Height-1;i++)for(j=1;j<m_Width-1;j++){for(m=0;m<3;m++){/*tempx[m]=fabs((m_pDib[(i+1)*length+(j-1)*3+m]+2*(m_pDib[(i+1)*length+j*3+m])+m_pDib[(i+1)*length+(j+1)*3+m])-(m_pDib[(i-1)*length+(j-1)*3+m]+2*(m_pDib[(i-1)*length+j*3+m])+m_pDib[(i-1)*length+(j+1)*3+m]));*/tempy[m]=fabs((m_pDib[(i-1)*length+(j+1)*3+m]+2*(m_pDib[i*length+(j+1)*3+m])+m_pDib[(i+1)*length+(j+1)*3+m])-(m_pDib[(i-1)*length+(j-1)*3+m]+2*(m_pDib[i*length+(j-1)*3+m])+m_pDib[(i+1)*length+(j-1)*3+m]));//D[m]=sqrt(pow(tempx[m],2)+pow(tempy[m],2));if(tempy[1]>tempy[2]){tempb=tempy[1];}elsetempb=tempy[1];if(tempy[0]>tempb)tempb=tempy[0];tempA[i][j]=tempb;//tempA[i][j]=sqrt(pow(D[1],2)+pow(D[2],2)+pow(D[0],2));//tempA[i][j]=fabs(D[1])+fabs(D[2])+fabs(D[0]);}doublethreshold=80.0;for(i=1;i<m_Height-1;i++)for(j=1;j<m_Width-1;j++){if(tempA[i][j]>threshold)tempA[i][j]=255;//m_pDib[i*length+j*3+1]=m_pDib[i*length+j*3+2]=m_pDib[i*length+j*3]elsetempA[i][j]=0;//m_pDib[i*length+j*3+1]=m_pDib[i*length+j*3+2]=m_pDib[i*length+j*3]=0;}for(i=1;i<m_Height-1;i++)for(j=1;j<m_Width-1;j++)m_pDib[i*length+j*3+1]=m_pDib[i*length+j*3+2]=m_pDib[i*length+j*3]=tempA[i][j];//腐蝕去噪for(m=0;m<size;m++){FS[m]=m_pDib[m];PZ[m]=m_pDib[m];}for(i=1;i<m_Height-1;i++)for(j=1;j<m_Width-1;j++){if(m_pDib[i*length+j*3]==255&&m_pDib[(i-1)*length+j*3]==255&&m_pDib[(i+1)*length+j*3]==255&&m_pDib[i*length+(j-1)*3]==255&&m_pDib[i*length+(j+1)*3]==255&&m_pDib[(i+1)*length+(j+1)*3]&&m_pDib[(i-1)*length+(j-1)*3])FS[i*length+j*3]=255;elseFS[i*length+j*3]=0;}for(i=1;i<m_Height-1;i++)for(j=1;j<m_Width-1;j++)m_pDib[i*length+j*3+1]=m_pDib[i*length+j*3+2]=m_pDib[i*length+j*3]=FS[i*length+j//膨脹intr,h;for(i=9;i<m_Height-9;i++)for(j=4;j<m_Width-4;j++){if(m_pDib[i*length+j*3]==255){for(r=1;r<10;r++)for(h=0;h<5;h++){PZ[(i-r)*length+(j-h)*3]=PZ[(i+r)*length+(j-h)*3]=PZ[(i+r)*length+(j+h)*3]=PZ[(i-r)*length+(j+h)*3]=255;}}}for(i=1;i<m_Height-1;i++)for(j=1;j<m_Width-1;j++)m_pDib[i*length+j*3+1]=m_pDib[i*length+j*3+2]=m_pDib[i*length+j*3]=PZ[i*length+j*3];//腐蝕inttag=0;for(i=9;i<m_Height-9;i++)for(j=4;j<m_Width-4;j++){{for(r=1;r<10;r++)for(h=0;h<5;h++){if(m_pDib[(i-r)*length+(j-h)*3]==255&&m_pDib[(i+r)*length+(j-h)*3]==255&&m_pDib[(i+r)*length+(j+h)*3]==255&&m_pDib[(i-r)*length+(j+h)*3]==255)tag=tag++;elsetag=0;}}if(tag>31)FS[i*length+j*3]=255;elseFS[i*length+j*3]=0;}for(i=1;i<m_Height-1;i++)for(j=1;j<m_Width-1;j++)m_pDib[i*length+j*3+1]=m_pDib[i*length+j*3+2]=m_pDib[i*length+j*3]=FS[i*length+j//標識連通域intcMaxSize=100;int*xtemp=new(int[cMaxSize]);int*ytemp=new(int[cMaxSize]);for(intt=0;t<cMaxSize;t++){xtemp[t]=-1;ytemp[t]=-1;}BOOL*Checked=new(BOOL[m_Width*m_Height]);int*nPdeMark=new(int[m_Width*m_Height]);for(i=0;i<m_Height;i++)for(j=0;j<m_Width;j++)nPdeMark[i*m_Width+j]=-1;for(i=1;i<m_Height-1;i++)for(j=1;j<m_Width-1;j++)nPdeMark[i*m_Width+j]=m_pDib[i*length+j*3];for(i=0;i<m_Height;i++)for(intj=0;j<m_Width;j++)Checked[i*m_Width+j]=FALSE;longCount;longmaxcount=0;intmaxt=0;intBlockSign=0;for(i=1;i<m_Height-1;i++){for(intj=1;j<m_Width-1;j++){Count=0;if(nPdeMark[i*m_Width+j]==255&&!Checked[i*m_Width+j]){BlockSign=BlockSign+1;BlockPixelCount(nPdeMark,xtemp,ytemp,Checked,&Count,i,j,m_Height,m_Width,cMaxSize,BlockSign);// if(Count==1001)// {// BlockSign--;// }if(Count>maxcount){maxcount=Count;maxt=BlockSign;}if(Count<=cMaxSize){for(intk=0;k<Count;k++)nPdeMark[xtemp[k]*m_Width+ytemp[k]]=0;}}}// printf("i=%ddone\n",i);}//標識定位車牌intXmax=1;intXmin=1000;intYmax=1;intYmin=1000;//intl=0;intresult_XMax,result_XMin,result_YMax,result_YMin;doubleR,Wd,Hg;for(t=1;t<=BlockSign;t++){Xmax=1;Xmin=1000;Ymax=1;Ymin=1000;for(i=1;i<m_Height-1;i++)for(j=1;j<m_Width-1;j++){if(nPdeMark[i*m_Width+j]==t){//tempB[t][l]=nPdeMark[i*m_Width+j];//l++;if(i>Xmax)Xmax=i;if(i<Xmin)Xmin=i;if(j>Ymax)Ymax=j;if(j<Ymin)Ymin=j;}}Hg=fabs(Xmax-Xmin);Wd=fabs(Ymax-Ymin);if(Hg!=0)R=Wd/Hg;elseR=0;if(R>2.0&&R<4.0){result_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一的變調練習題
- 二零二五年度重型吊車安全責任及運輸合同3篇
- 壓瘡的預防及護理課件
- 射箭游戲-數(shù)學
- 2024年浙江宇翔職業(yè)技術學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 2024年濟源職業(yè)技術學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 《科幻小說賞析與寫作》 課件 -第三章 “太空歌劇”的探索與開拓-《2001太空漫游》
- 2024年河南工業(yè)貿易職業(yè)學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 二零二五年租賃權轉讓及配套設備協(xié)議范本3篇
- 2024年滄州職業(yè)技術學院高職單招語文歷年參考題庫含答案解析
- 2025年內蒙古阿拉善額濟納旗事業(yè)單位引進48人歷年高頻重點提升(共500題)附帶答案詳解
- 2025-2030年中國電動三輪車市場發(fā)展現(xiàn)狀及前景趨勢分析報告
- TCABEE 063-2024 建筑光儲直柔系統(tǒng)變換器 通 用技術要求
- 【9化期末】合肥市廬陽區(qū)2023-2024學年九年級上學期期末化學試題
- 高一下學期生物人教版必修二:3.4 基因通常是有遺傳效應的DNA片段課件
- 雅禮中學2024-2025學年初三創(chuàng)新人才選拔數(shù)學試題及答案
- 下屬企業(yè)考核報告范文
- 采購合同評審表-模板
- 冬季高空作業(yè)施工方案
- 2024-2025學年人教版九年級數(shù)學上學期復習:圓的綜合解答題 壓軸題型專項訓練(30道題)
- 修車補胎合同范例
評論
0/150
提交評論