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

正文內(nèi)容

車牌識別采購、研發(fā)縱覽-文庫吧資料

2025-07-01 21:18本頁面
  

【正文】 ,0xe006e006,0x0000e006,0x00000000,0xffff0000, 0xffffffff,0x03800380,0x03800380,0x03800380,0x03800380,0x03800380,0x03c00380,0x00c003c0}, {0x40300020,0x3dfef830,0x0dfe0dfe,0x0c000c00,0x0ccc0ccc,0x7c600ccc,0x6fff7ff8,0x6c306fff, 0x6c306c30,0x6dfe6dfe,0x6cbc6c30,0x65bc6dfc,0x67b667b6,0x66376636,0x63386630,0x00086338}, {0x0d840c00,0x0d8e0d84,0x7fec0d8c,0x7fe07fe8,0x0d820d80,0x7ff70d82,0x7ff47ff6,。第1節(jié) 模板匹配車牌字符的字體可以在《GA362007中華人民共和國機動車號牌》找得到。但是有兩個壞處,第一速度較慢,第二識別率不高。對于印刷字符識別,一般的思路是和模板比對。所以字符識別需要增加對字符旋轉(zhuǎn)的容忍能力。這就需要根據(jù)不同的字符,糾正旋轉(zhuǎn)。這樣就可以對字符作更精細(xì)的恢復(fù),減少字符識別的負(fù)擔(dān)。角點車牌定位方法比較容易得到車牌自身的旋轉(zhuǎn)角度。對于較大的車牌,糾正旋轉(zhuǎn)后的字符,識別率大大提高。車牌的旋轉(zhuǎn)角度和字符的旋轉(zhuǎn)角度相同。如果車牌旋轉(zhuǎn)角度很大,需要換用其它算法。這樣就刪除了邊框。x++) {if(ScanLine(x,y,m_character_width*5/4)==0) { SetToBackground(x,y,x+m_character_width*5/4,y)。for(x=m_plate_left。y=m_plate_bottom。代碼如下:voidCLPR::DeleteFrame(){inty。在車牌定位之后,就可以估算出車牌字符的大小。但是某些車牌并不符合標(biāo)準(zhǔn)的車牌尺寸。 }}以上代碼也是來自綠睿車牌識別的一個老版本。if(!known_letter) { m_min_y=possible_screw_end。boolknown_letter。if(distancedelta_x*)return。if(ExpandHorizontal(left,y,y,m_min_x,ADD)) {if(leftm_delta_x/2) {intdistance。 y=possible_screw_end1。 }if(!possible_screw)return。break。seek++) {intleft。for(seek=1。 delta_x=RecognizeCharacterLocateVeritcalSmallSideScrewGetDeltaX(false,possible_screw_end,true)。possible_screw_end++) {intdistance。for(possible_screw_end=possible_screw_start+1。 possible_screw=false。boolpossible_screw。 possible_screw_start=RecognizeCharacterLocateVeritcalRightUpSmallSideScrewGetStart()。刪掉螺絲的代碼如下:voidCLPR::RightUpSmallSideScrewCharacterWide(){if(!(m_character_index==1||m_character_index==4))return。讀者可以進行修改,并放入自己工程中。 RecognizeCharacterAdjustVertical()。 known_letter=false。else{if(left=m_delta_x/2) possible_screw=false。 } }if(possible_screw) {intleft。break。seek=4。intseek。distance10)) continue。distance1distance3amp。distance2=distance3amp。if(!(distance1=distance2amp。intdistance3。intdistance2。intdistance1。if(rightdelta_x/2) continue。intright。if(!ExpandHorizontal(left,possible_screw_end,possible_screw_end,m_min_x,ADD)) continue。possible_screw_end++) { delta_x=RecognizeCharacterLocateVeritcalSmallSideScrewGetDeltaX(true,possible_screw_end,true)。for(possible_screw_end=possible_screw_start+1。 } } } }intdelta_x。if(ExpandHorizontal(screw_right,possible_screw_start,possible_screw_start,m_max_x,SUB)) {if(screw_right=m_delta_x/2) { possible_screw=true。seek++) { possible_screw_start=m_min_y+seek。for(seek=0。if(m_character_index==5) { possible_screw=false。intpossible_screw_start。下面分小節(jié)舉幾個例子:這種情況如下圖所示:在比較圓的9的上部出現(xiàn)了一個螺絲,比較明顯。對不同的字符、相同字符不同部位的螺絲,都要分別編碼。算法很簡單,這里不再列出代碼。第1節(jié) 去除噪音去除噪音的原理是:每一個字符,都是很大的一個連續(xù)塊,但是噪音確是比較小的多個連續(xù)塊。比如車牌旋轉(zhuǎn)、污染、固定螺絲和車牌邊框等等。}上面的代碼技巧性很大,需要讀者認(rèn)真揣摩。indexsizeof(mm)/sizeof(mm)1。intindex。根據(jù)這幅圖片,我們可以在一定位的車牌上,找到各個字符的坐標(biāo)。但是實驗證實,在一到兩個像素范圍內(nèi),在水平方向上,實物和圖像基本上成比例。并不一定圖片和實物幾何意義上的相似。 } } }}連接邊界點的算法和連接前景點的算法完全相同。elseif(!IsForeground(x,y1)) SetEdge(x,y)。x++) {if(IsForeground(x,y)) {if(!IsForeground(x1,y)) SetEdge(x,y)。for(x=0。ym_height。邊界點如下圖:得到邊界點的算法如下:voidCLPR::GetEdge(){inty。邊界法需要事先得到前景像素中的邊界點,這可能會花費一些時間。}雖然掃描線種子填充算法,比基本的種子填充算法復(fù)雜一些,但是在車牌識別測試后發(fā)現(xiàn),掃描線種子填充算法比種子填充算法要快三分之一左右。 stack_length++。!IsVisited(left_x,y)) { stack[stack_length][0]=x。x++) {if(IsForeGround(x,up_y)amp。if(up_y=0) {for(x=left_x。 } } }intup_y。 stack[stack_length][1]=down_y。amp。x=right_x。 down_y=y+1。if(left_x0) left_x=0。if(right_x=m_width) right_x=m_width1。 }intright_x。x++) {if(!IsForeGround(x,y)||IsVisited(left_x,y))break。for(x=left_x。left_x)if(!IsForeGround(left_x,y)||IsVisited(left_x,y))break。for(left_x=x1。 stack_length。 x=stack[stack_length1][0]。 stack_length++。 stack[stack_length][0]=x。intstack_length。算法如下:voidLPR::Fill(intx,inty){int(*stack)[2]。其基本思想是:在種子的左右兩邊水平掃描暫時不需要遞歸,以減少不必要的函數(shù)調(diào)用?;镜倪f歸填充算法,函數(shù)遞歸調(diào)用較為頻繁,引起系統(tǒng)資源消耗巨大。 Fill(x,y1)。 Fill(x,y+1)。 MarkPixelVisited(x,y)。if(IsVisited(x,y))return。具體到車牌識別,每訪問一個點,還要記錄該點的坐標(biāo),從而得到當(dāng)前字符點的集合。遞歸填充算法的基本思想是,首先訪問當(dāng)前點,然后訪問當(dāng)前點的四個鄰居。 } } }}Fill是種子填充,算法有多種。amp。x=m_plate_right。y++) {intx。for(y=m_plate_top。但是當(dāng)整個車牌的數(shù)字和字母都得到之后,剩下的那個必定是漢字。用填充算法對種子點填充即可得到整個字符。本章將分若干節(jié)介紹字符分割的算法。//do not div 0returnret。 ret=change_times。 current_foreground=true。 current_foreground=false。loopcount。intloop。intchange_times。獲得變化率的代碼如下:doubleCLPR::ScanLine(intx,inty,intcount){boolcurrent_foreground。這說明根據(jù)前景背景變化率可以定位車牌。雖然經(jīng)過改進后也可以識別出旋轉(zhuǎn)后的車牌,但是速度很慢,不能出現(xiàn)在成熟的產(chǎn)品中。}IsForegournd(x,y)為詢問點(x,y)是不是前景點的函數(shù)。x_loop++)if(!IsForegournd(x+x_loop,y)) ret++。for(x_loop=0。 ret=0。根據(jù)這兩條背景線可以準(zhǔn)確的定位車牌。注意這里的4,是檢驗角點的區(qū)域范圍,如果區(qū)域過大,圖像旋轉(zhuǎn)時就會影響車牌定位的成功率。 }if(Line(x,y,x,y4)=3) {if(Line(x1,y1,x4,y4)=1) Add(x,y,RIGHT_DOWN_CONNER)。 }if(Line(x,y,x,y4)=3) {if(Line(x+1,y1,x+4,y4)=1) Add(x,y,LEFT_DOWN_CONNER)。xm_width。y++) {intx。for(y=0。從角點定位的原理看出,如果經(jīng)過旋轉(zhuǎn)后車牌并不會影響角點定位的成功率和速度。但是這并不影響車牌的定位。下面分小節(jié)分別介紹各種車牌定位算法。在二值化之后,車牌識別將變得比較容易。% im2bw函數(shù)需要將灰度值轉(zhuǎn)換到[0,1]范圍內(nèi)figure,imshow(I1)。imhist(I)。39。% im2bw函數(shù)需要將灰度值轉(zhuǎn)換到[0,1]范圍內(nèi)figure,imshow(I1)。imhist(I)。39。最后使用命令im2bw對圖像進行二值化。在Matlab的環(huán)境中首先把輸入的彩色圖像使用命令rgb2gray轉(zhuǎn)換成灰度圖像。 m_prepare_threhold=(int)(k+)
點擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1