[發明專利]道路監控系統中車牌邊框的自動識別方法有效
| 申請號: | 201310671424.6 | 申請日: | 2013-12-11 |
| 公開(公告)號: | CN103729619A | 公開(公告)日: | 2014-04-16 |
| 發明(設計)人: | 王明佳;武治國;王宇慶 | 申請(專利權)人: | 中國科學院長春光學精密機械與物理研究所 |
| 主分類號: | G06K9/00 | 分類號: | G06K9/00;G06K9/48 |
| 代理公司: | 長春菁華專利商標代理事務所 22210 | 代理人: | 田春梅 |
| 地址: | 130033 吉*** | 國省代碼: | 吉林;22 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 道路 監控 系統 車牌 邊框 自動識別 方法 | ||
1.道路監控系統中車牌邊框的自動識別方法,其特征在于,該方法包括如下步驟:
第一步、對道路監控系統所拍攝到的分辨率為768×576像素的原始圖像進行邊緣提取,獲得二值圖像E,二值圖像E中灰度值為1的點表示邊緣點,灰度值為0的點表示非邊緣點,以二值圖像E的左上角為原點,建立x軸水平向右、y軸豎直向下的像素平面直角坐標系;
第二步、獲得包含疑似水平邊框線段的直線集合U1,其具體包括如下子步驟:
步驟2.1:定義等腰三角形的識別區和水平方向上的兩條掃描路徑:
定義水平等腰三角形的識別區,該等腰三角形的頂角為30度且朝向x軸正方向,等腰三角形的底邊所在的直線垂直于x軸上的像素點(729,0);等腰三角形的中線與x軸平行;該等腰三角形內還包含58條斜線段,所述58條斜線段均以等腰三角形的頂角為起點,底邊為終點,并位于步驟一所述坐標系范圍以內;該等腰三角形內包括兩條腰線和一條中線在內的共計61條線段中,任意相鄰的兩條之間的夾角均為0.5度;
選取以像素點a1(40,40)為起點并以像素點a728(729,40)為終點的線段a,并選取以像素點(40,537)為起點并以像素點(729,537)為終點的線段b作為兩條水平方向上的掃描路徑;線段a與線段b的長度均為690個像素點,且二者均與x軸平行;
步驟2.2:等腰三角形的識別區頂角沿水平線段a的掃描識別過程,其具體包括如下子步驟:
步驟2.2.1:將水平等腰三角形的識別區的頂角與線段a的上的某一給定像素點重合,并用當前給定像素點的橫坐標值更新數組、斜線段和斜線段對應的直線方程;其具體做法為:
使步驟2.1所述水平等腰三角形的識別區的頂角與線段a上的某一給定像素點重合,將此時水平等腰三角形的識別區的頂角所在位置的序號定義為an,其中n=x-39,式中x為當前頂角所在給定像素點的橫坐標值;
當水平等腰三角形的識別區的頂角所在位置的序號是an時,定義該等腰三角形內的各條斜線段的序號為Fan-k(k順次取01、02、03……61);將斜線段Fan-01上的每一個像素點的坐標值均存入線段數組data[an-01]中,用同樣的方法,將其它每一條斜線段an-k上的每一個像素點的坐標值均存入與該線段序號Fan-k對應的線段數組data[an-k](k順次取01、02、03……61)中;
步驟2.2.2:完成識別區頂角在水平線段a上的當前給定坐標點時,對識別區內的每一條斜線段中是否有疑似車牌邊框線段的判斷識別和篩選;其具體包括如下子步驟:
步驟2.2.2.1:水平等腰三角形的識別區的頂角在線段a的起點a1(40,40)時,選擇當前識別區內的一條斜線段Fa1-01;
步驟2.2.2.2:判斷步驟2.2.1所取得的、與斜線段Fan-k相對應的線段數組data[an-k]中,由每40個連續像素點所組成的一小段線段上,是否至少有36個步驟一所述的邊緣點,若有,則該斜線段上含有疑似車牌邊框線段,進入步驟2.2.2.3;若沒有,則進入步驟2.2.2.4;
步驟2.2.2.3:將當前斜線段Fan-k在像素坐標系下對應的直線方程Lan-k存入數組U1,完成對當前斜線段Fan-k上疑似邊框的識別篩選,并進入步驟2.2.2.4;
步驟2.2.2.4:判斷當前線段數組data[an-k](k順次取01、02、03……61)中,k是否為61,若k≠61,則進入步驟2.2.2.5;若k=61,則進入步驟2.2.3;
步驟2.2.2.5:令k=k+1(k順次取01、02、03……61),更新步驟2.2.2.2所述斜線段Fan-k以及與其相對應的線段數組data[an-k]的序號,重新執行步驟2.2.2.2至步驟2.2.2.4;
步驟2.2.3:使水平等腰三角形的識別區的頂角從線段a的起點a1(40,40)向x軸正方向順次水平移動一個像素單位,每次頂角移動一個新的位置后,均更新步驟2.2.2.1所述水平等腰三角形的識別區的頂角an,并重復執行步驟2.2.2,直至水平等腰三角形的識別區的頂角移動至線段a的終點a729(729,40)時,將an更新為a690,然后進入步驟2.3;
步驟2.3:將等腰三角形的識別區頂角由步驟2.1所述的線段a的終點a729(729,40)更換至線段b的起點(40,537),并按照與步驟2.2同樣的方法完成等腰三角形的識別區頂角沿水平線段b的掃描識別過程,其具體包括如下子步驟:
步驟2.3.1:將水平等腰三角形的識別區的頂角與線段b的上的某一給定像素點重合,并用當前給定像素點的橫坐標值更新數組、斜線段和斜線段對應的直線方程;其具體做法為:
使步驟2.1所述水平等腰三角形的識別區的頂角與線段b上的某一給定像素點重合,將此時水平等腰三角形的識別區的頂角所在位置的序號定義為bn,其中n=x-39,式中x為當前頂角所在給定像素點的橫坐標值;
當水平等腰三角形的識別區的頂角所在位置的序號是bn時,定義該等腰三角形內的各條斜線段的序號為Fbn-k(k順次取01、02、03……61);將斜線段Fbn-01上的每一個像素點的坐標值均存入線段數組data[bn-01]中,用同樣的方法,將其它每一條斜線段bn-k上的每一個像素點的坐標值均存入與該線段序號Fbn-k對應的線段數組data[bn-k](k順次取01、02、03……61)中;
步驟2.3.2:完成識別區頂角在水平線段b上的當前給定坐標點時,對識別區內的每一條斜線段中是否有疑似車牌邊框線段的判斷識別和篩選;其具體包括如下子步驟:
步驟2.3.2.1:水平等腰三角形的識別區的頂角在線段b的起點b1(40,40)時,選擇當前識別區內的一條斜線段Fb1-01;
步驟2.3.2.2:判斷步驟2.3.1所取得的、與斜線段Fbn-k相對應的線段數組data[bn-k]中,由每40個連續像素點所組成的一小段線段上,是否至少有36個步驟一所述的邊緣點,若有,則該斜線段上含有疑似車牌邊框線段,進入步驟2.3.2.3;若沒有,則進入步驟2.3.2.4;
步驟2.3.2.3:將當前斜線段Fbn-k在像素坐標系下對應的直線方程Lbn-k存入數組U1,完成對當前斜線段Fbn-k上疑似邊框的識別篩選,并進入步驟2.3.2.4;
步驟2.3.2.4:判斷當前段數組data[bn-k](k順次取01、02、03……61)中,k是否為61,若k≠61,則進入步驟2.3.2.5;若k=61,則進入步驟2.3.3;
步驟2.3.2.5:令k=k+1(k順次取01、02、03……61),更新步驟2.3.2.2所述斜線段Fbn-k以及與其相對應的線段數組data[bn-k]的序號,重新執行步驟2.3.2.2至步驟2.3.2.4;
步驟2.3.3:使水平等腰三角形的識別區的頂角從線段b的起點b1(40,537)向x軸正方向順次水平移動一個像素單位,每次頂角移動一個新的位置后,均更新步驟2.3.2.1所述水平等腰三角形的識別區的頂角bn,并重復執行步驟2.3.2,直至水平等腰三角形的識別區的頂角移動至線段b的終點b729(729,40)時,將bn更新為b690,完成等腰三角形的識別區頂角沿水平線段b的掃描識別過程,然后進入步驟三;
步驟三、獲得包含疑似豎直邊框線段的直線集合U2,其具體包括如下子步驟:步驟3.1:定義等腰三角形的識別區和豎直方向上的兩條掃描路徑:
定義豎直等腰三角形的識別區,該等腰三角形的頂角為30度且朝向y軸正方向,等腰三角形的底邊所在的直線垂直于y軸上的像素點(0,537);等腰三角形的中線與y軸平行;該等腰三角形內還包含58條斜線段,所述58條斜線段均以等腰三角形的頂角為起點,底邊為終點,并位于步驟一所述坐標系范圍以內;該等腰三角形內包括兩條腰線和一條中線在內的共計61條線段中,任意相鄰的兩條之間的夾角均為0.5度;
選取以像素點(40,40)為起點并以像素點(40,537)為終點的線段c,并選取以像素點(729,40)為起點并以像素點(729,537)為終點的線段d作為兩條豎直方向上的掃描路徑;線段c與線段d的長度均為498個像素點,且二者均與y軸平行;
步驟3.2:等腰三角形的識別區頂角沿豎直線段c的掃描識別過程,其具體包括如下子步驟:
步驟3.2.1:將豎直等腰三角形的識別區的頂角與線段c的上的某一給定像素點重合,并用當前給定像素點的橫坐標值更新數組、斜線段和斜線段對應的直線方程;其具體做法為:
使步驟3.1所述豎直等腰三角形的識別區的頂角與線段c上的某一給定像素點重合,將此時豎直等腰三角形的識別區的頂角所在位置的序號定義為cn,其中n=y-39,式中y為當前頂角所在給定像素點的縱坐標值;
當豎直等腰三角形的識別區的頂角所在位置的序號是cn時,定義該等腰三角形內的各條斜線段的序號為Fcn-k(k順次取01、02、03……61);將斜線段Fcn-01上的每一個像素點的坐標值均存入線段數組data[cn-01]中,用同樣的方法,將其它每一條斜線段cn-k上的每一個像素點的坐標值均存入與該線段序號Fcn-k對應的線段數組data[cn-k](k順次取01、02、03……61)中;
步驟3.2.2:完成識別區頂角在豎直線段c上的當前給定坐標點時,對識別區內的每一條斜線段中是否有疑似車牌邊框線段的判斷識別和篩選;其具體包括如下子步驟:
步驟3.2.2.1:豎直等腰三角形的識別區的頂角在線段c的起點c1(40,40)時,選擇當前識別區內的一條斜線段Fc1-01;
步驟3.2.2.2:判斷步驟3.2.1所取得的、與斜線段Fcn-k相對應的線段數組data[cn-k]中,由每40個連續像素點所組成的一小段線段上,是否至少有36個步驟一所述的邊緣點,若有,則該斜線段上含有疑似車牌邊框線段,進入步驟3.2.2.3;若沒有,則進入步驟3.2.2.4;
步驟3.2.2.3:將當前斜線段Fcn-k在像素坐標系下對應的直線方程Lcn-k存入數組U2,完成對當前斜線段Fcn-k上疑似邊框的識別篩選,并進入步驟3.2.2.4;
步驟3.2.2.4:判斷當前線段數組data[cn-k](k順次取01、02、03……61)中,k是否為61,若k≠61,則進入步驟3.2.2.5;若k=61,則進入步驟3.2.3;
步驟3.2.2.5:令k=k+1(k順次取01、02、03……61),更新步驟3.2.2.2所述斜線段Fcn-k以及與其相對應的線段數組data[cn-k]的序號,重新執行步驟3.2.2.2至步驟3.2.2.4;
步驟3.2.3:使豎直等腰三角形的識別區的頂角從線段c的起點c1(40,40)向y軸正方向順次豎直移動一個像素單位,每次頂角移動一個新的位置后,均更新步驟3.2.2.1所述豎直等腰三角形的識別區的頂角cn,并重復執行步驟3.2.2,直至豎直等腰三角形的識別區的頂角移動至線段c的終點c498(40,537)時,將cn更新為c498,然后進入步驟3.3;
步驟3.3:將等腰三角形的識別區頂角由步驟3.1所述的線段c的終點c498(40,537)更換至線段d的起點(729,40),并按照與步驟3.2同樣的方法完成等腰三角形的識別區頂角沿豎直線段d的掃描識別過程,其具體包括如下子步驟:
步驟3.3.1:將豎直等腰三角形的識別區的頂角與線段d的上的某一給定像素點重合,并用當前給定像素點的縱坐標值更新數組、斜線段和斜線段對應的直線方程;其具體做法為:
使步驟3.1所述豎直等腰三角形的識別區的頂角與線段d上的某一給定像素點重合,將此時豎直等腰三角形的識別區的頂角所在位置的序號定義為dn,其中n=y-39,式中y為當前頂角所在給定像素點的縱坐標值;
當豎直等腰三角形的識別區的頂角所在位置的序號是dn時,定義該等腰三角形內的各條斜線段的序號為Fdn-k(k順次取01、02、03……61);將斜線段Fdn-01上的每一個像素點的坐標值均存入線段數組data[dn-01]中,用同樣的方法,將其它每一條斜線段dn-k上的每一個像素點的坐標值均存入與該線段序號Fdn-k對應的線段數組data[dn-k](k順次取01、02、03……61)中;
步驟3.3.2:完成識別區頂角在豎直線段d上的當前給定坐標點時,對識別區內的每一條斜線段中是否有疑似車牌邊框線段的判斷識別和篩選;其具體包括如下子步驟:
步驟3.3.2.1:豎直等腰三角形的識別區的頂角在線段d的起點d1(729,40)時,選擇當前識別區內的一條斜線段Fd1-01;
步驟3.3.2.2:判斷步驟3.3.1所取得的、與斜線段Fdn-k相對應的線段數組data[dn-k]中,由每40個連續像素點所組成的一小段線段上,是否至少有36個步驟一所述的邊緣點,若有,則該斜線段上含有疑似車牌邊框線段,進入步驟3.3.2.3;若沒有,則進入步驟3.3.2.4;
步驟3.3.2.3:將當前斜線段Fdn-k在像素坐標系下對應的直線方程Ldn-k存入數組U2,完成對當前斜線段Fdn-k上疑似邊框的識別篩選,并進入步驟3.3.2.4;
步驟3.3.2.4:判斷當前段數組data[dn-k](k順次取01、02、03……61)中,k是否為61,若k≠61,則進入步驟3.3.2.5;若k=61,則進入步驟3.3.3;
步驟3.3.2.5:令k=k+1(k順次取01、02、03……61),更新步驟3.3.2.2所述斜線段Fdn-k以及與其相對應的線段數組data[dn-k]的序號,重新執行步驟3.3.2.2至步驟3.3.2.4;
步驟3.3.3:使豎直等腰三角形的識別區的頂角從線段d的起點d1(729,40)向y軸正方向順次豎直移動一個像素單位,每次頂角移動一個新的位置后,均更新步驟3.3.2.1所述豎直等腰三角形的識別區的頂角dn,并重復執行步驟3.3.2,直至豎直等腰三角形的識別區的頂角移動至線段d的終點d498(729,537)時,將dn更新為d498,完成等腰三角形的識別區頂角沿豎直線段d的掃描識別過程,然后進入步驟四;
步驟四:分別讀取步驟二所述直線集合U1和步驟三所述直線集合U2,并判斷邏輯式U1&U2的結果,若其結果為真,則進入步驟五,若其結果為假,則直接終止本方法的識別過程;
步驟五:根據兩條相交直線的斜率乘積結果,判斷其二者是否符合彼此垂直的條件,從U1中篩選保留能與U2中兩條直線同時垂直的直線,將符合條件的直線存入集合U3,然后進入步驟六;
步驟六:根據兩條相交直線的斜率乘積結果,判斷其二者是否符合彼此垂直的條件,從U2中篩選保留能與U3中兩條直線同時垂直的直線,將符合條件的直線存入集合U4,然后進入步驟七;
步驟七:根據兩條相交直線的斜率乘積結果,判斷其二者是否符合彼此垂直的條件,判斷集合U4中是否有兩條直線能同時與U3中的兩條直線垂直,然后進入步驟八;
步驟八:由步驟七分別獲得矩形四條邊線的直線方程,該矩形的四條邊線即為車牌在照片中的疑似邊界線。
2.根據權利要求1所述的道路監控系統中車牌邊框的自動識別方法,其特征在于,步驟五或步驟六或步驟七中所述的根據兩條相交直線的斜率乘積結果,判斷其二者是否符合彼此垂直的條件的判斷標準為:
將任意兩條直線方程分別記做:直線1:y1=k1x+b1;直線2:y2=k2x+b2;則可得到判斷式:E=k1×k2;
若E的結果數值在區間[-1.05,-0.95]內,則認為兩直線彼此垂直。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院長春光學精密機械與物理研究所,未經中國科學院長春光學精密機械與物理研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310671424.6/1.html,轉載請聲明來源鉆瓜專利網。





