1.一種DM碼定位及識別的方法,其特征在于,包括如下步驟:
S1、獲取原圖像的二值化圖像;
S2、從二值化圖像中提取包含DM碼的有效區(qū)域;
S3、對有效區(qū)域進行單邊緣提取,得到DM碼的置信單邊緣圖像;
S4、通過置信單邊緣圖像得到有效單邊緣圖像,并對有效單邊緣圖像進行霍夫變換,在霍夫變換域的參數(shù)空間里尋找到第一條查找模式邊所對應(yīng)的響應(yīng)點后建立角度屏蔽區(qū),尋找到角度屏蔽區(qū)之外的第二條查找模式邊所對應(yīng)的響應(yīng)點,進而定位DM碼的兩條查找模式邊,并獲取DM碼第一、第二條查找模式邊端點處的三個定位點;
S5、通過旋轉(zhuǎn)帶方向的像素累加器獲取DM碼的兩條切換模式邊,并求解這兩條切換模式邊交點處的第四個定位點;
S6、根據(jù)DM碼的四個定位點,對DM碼進行反透視變換,還原得到標(biāo)準(zhǔn)DM碼圖像,并對標(biāo)準(zhǔn)DM碼圖像進行網(wǎng)格劃分;
S7、對網(wǎng)格劃分后的DM碼進行碼字提取,還原碼字信息。
2.根據(jù)權(quán)利要求1所述的一種DM碼定位及識別的方法,其特征在于,步驟S2包括如下步驟:
S21、提取二值化圖像的角點;
S22、定位角點的最大響應(yīng)區(qū)域,所述最大響應(yīng)區(qū)域為正方形,并且此步驟中的最大響應(yīng)區(qū)域為DM碼的有效區(qū)域的一部分;
S23、最大響應(yīng)區(qū)域的各條邊分別朝著背離最大響應(yīng)區(qū)域的方向以生長半徑為步長獨立繪制對應(yīng)邊的矩形,所述生長半徑的值大于等于5個像素長度且小于等于50個像素長度;
S24、設(shè)定第一閾值,若某一個或幾個矩形范圍內(nèi)包含的角點數(shù)量大于第一閾值,則將對應(yīng)的矩形作為DM碼的有效區(qū)域的一部分后更新最大響應(yīng)區(qū)域的邊長,并繼續(xù)沿對應(yīng)方向以生長半徑為步長獨立繪制對應(yīng)邊的矩形,否則終止對應(yīng)方向有效區(qū)域的生長,所述第一閾值的大小為大于等于10且小于等于100。
3.根據(jù)權(quán)利要求1所述的一種DM碼定位及識別的方法,其特征在于,步驟S2包括如下步驟:
S21、提取二值化圖像的角點;
S22、對二值化圖像進行區(qū)域劃分,不同區(qū)域的大小相同,所述區(qū)域的邊長長度為大于等于8個像素且小于等于32個像素長度;
S23、統(tǒng)計每個區(qū)域內(nèi)的角點數(shù)量,以角點最密集的區(qū)域作為起點區(qū)域,并設(shè)定第二閾值,此步驟中起點區(qū)域為DM碼的有效區(qū)域的一部分,所述第二閾值的大小為大于等于10且小于等于100;
S24、將起點區(qū)域所在行作為搜索行,在起點區(qū)域的左、右方向上獨立進行搜索,若鄰接區(qū)域的角點數(shù)量大于第二閾值,則將相應(yīng)的鄰接區(qū)域作為DM碼的有效區(qū)域的一部分,并繼續(xù)沿對應(yīng)方向搜索判斷,否則終止對應(yīng)方向有效區(qū)域的搜索;
S25、將搜索行不斷上移一行,并將上一搜索行中有效區(qū)域的兩個端點區(qū)域與一個中點區(qū)域獨立作為新的起點區(qū)域,重復(fù)步驟S24,直到新的起點區(qū)域的角點數(shù)量均小于第二閾值;
S26、將步驟S24中搜索行不斷下移一行,并將上一搜索行中有效區(qū)域的兩個端點區(qū)域與一個中點區(qū)域獨立作為新的起點區(qū)域,重復(fù)步驟S24,直到新的起點區(qū)域的角點數(shù)量均小于第二閾值。
4.根據(jù)權(quán)利要求1所述的一種DM碼定位及識別的方法,其特征在于,步驟S2包括如下步驟:
S21、提取二值化圖像的角點;
S22、統(tǒng)計所有角點對應(yīng)的橫、縱坐標(biāo)值;
S23、設(shè)定第三閾值,并對所有的坐標(biāo)值進行一維膨脹操作,當(dāng)最大連通域的長度大于其它連通域長度的第三閾值倍時停止膨脹操作;
S24、對所有膨脹后的橫、縱坐標(biāo)值的重疊區(qū)域進行提取,得到DM碼的有效區(qū)域。
5.根據(jù)權(quán)利要求1所述的一種DM碼定位及識別的方法,其特征在于,步驟S4包括如下步驟:
S41、獲取DM碼有效區(qū)域的寬度和高度,若寬度與高度的比值基本滿足正方形條件,則對置信單邊緣圖像進行挖空操作,以排除DM碼中遠(yuǎn)離探測圖形的數(shù)據(jù)區(qū),否則不進行挖空操作,最終得到有效單邊緣圖像;
S42、對有效單邊緣圖像進行霍夫變換,得到霍夫變換域的參數(shù)空間;
S43、對霍夫變換域的參數(shù)空間進行最大值檢測,獲取最大響應(yīng)點對應(yīng)的中心像素值,中心像素值所對應(yīng)的參數(shù)即為第一條查找模式邊的直線參數(shù);
S44、在霍夫變換域的參數(shù)空間建立角度屏蔽區(qū);
S45、在角度屏蔽區(qū)之外對霍夫變換域的參數(shù)空間進行最大值檢測,獲取最大響應(yīng)點對應(yīng)的中心像素值,中心像素值所對應(yīng)的參數(shù)即為第二條查找模式邊的直線參數(shù);
S46、獲取DM碼第一、第二條查找模式邊端點處的三個定位點,所述三個定位點包括第一、第二條查找模式邊的交點與第一、第二條查找模式邊的另外兩個端點。
6.根據(jù)權(quán)利要求5所述的一種DM碼定位及識別的方法,其特征在于,步驟S43和/或步驟S45中對霍夫變換域的參數(shù)空間進行最大值檢測時,使用霍夫變換投票查找方法,其設(shè)置為:首先,搜尋霍夫變換域的參數(shù)空間,并通過模板對參數(shù)空間進行加權(quán),獲取最大響應(yīng)點對應(yīng)的中心像素值坐標(biāo);其次,以該坐標(biāo)為中心,建立參數(shù)空間距離方向的搜索區(qū),所述搜索區(qū)半徑為r,所述半徑r的值為3°~10°;再次,在搜索區(qū)內(nèi)檢索M-1個次大響應(yīng)點并記錄其坐標(biāo),所述M的值為大于等于5且小于等于10;再次,在有效單邊緣圖像中搜索獲取的M個響應(yīng)點所對應(yīng)的直線,并計算這M條直線上分別包含的邊緣像素數(shù)量;最后,選取包含邊緣像素數(shù)量最多的直線作為查找模式邊所在的直線,并以此直線所定義的參數(shù)作為最大響應(yīng)點的參數(shù)。
7.根據(jù)權(quán)利要求1所述的一種DM碼定位及識別的方法,其特征在于,步驟S5包括如下步驟:
S51、使用旋轉(zhuǎn)帶方向的像素累加器尋找到第一條切換模式邊,所述旋轉(zhuǎn)帶方向的像素累加器設(shè)置為以第一條查找模式邊的端點為頂點,以具有固定半徑的第一旋轉(zhuǎn)線段從第一條查找模式邊開始繞著頂點在有效區(qū)域旋轉(zhuǎn),當(dāng)?shù)谝恍D(zhuǎn)線段上各像素點的累加值為0時,此時的第一旋轉(zhuǎn)線段為第一條切換模式邊的外邊緣的一部分或部分重合,所述固定半徑為第一/第二切換模式邊長度的一半;
S52、使用旋轉(zhuǎn)帶方向的像素累加器尋找到第二條切換模式邊,所述旋轉(zhuǎn)帶方向的像素累加器設(shè)置為以第二條查找模式邊的端點為頂點,以具有固定半徑的第二旋轉(zhuǎn)線段從第二條查找模式邊開始繞著頂點在有效區(qū)域旋轉(zhuǎn),當(dāng)?shù)诙D(zhuǎn)線段上各像素點的累加值為0時,此時的第二旋轉(zhuǎn)線段為第二條切換模式邊的外邊緣的一部分或部分重合;
S53、將第一旋轉(zhuǎn)線段與第二旋轉(zhuǎn)線段的交點或延長線的交點作為DM碼的第四個定位點。
8.根據(jù)權(quán)利要求1所述的一種DM碼定位及識別的方法,其特征在于,步驟S6包括如下步驟:
S61、根據(jù)DM碼的四個定位點,對DM碼進行反透視變換,還原得到標(biāo)準(zhǔn)DM碼圖像;
S62、通過標(biāo)準(zhǔn)DM碼圖像的切換模式邊,得到標(biāo)準(zhǔn)DM碼圖像的穩(wěn)定分段長度;
S63、根據(jù)分段長度,對標(biāo)準(zhǔn)DM碼圖像進行網(wǎng)格劃分。
9.根據(jù)權(quán)利要求8所述的一種DM碼定位及識別的方法,其特征在于,步驟S62包括如下步驟:
S621、以第一條切換模式邊的外邊緣所在直線為初始搜索線;
S622、記錄像素值從0到1或從1到0的切換次數(shù),且引入一個延遲計數(shù)器用于記錄相同像素值的個數(shù),并定義一個待寫入?yún)^(qū)flag,若像素值發(fā)生變化則將flag置高位,且延遲記錄器記錄的相同像素值的個數(shù)大于第四閾值時,則此時已經(jīng)滿足切換條件,記錄分段坐標(biāo),所述第四閾值為記錄器中出現(xiàn)相同像素值的個數(shù)為最大時的長度;
S623、以固定的像素數(shù)量為步長不斷平行移動搜索線,方向為朝著搜索線對面的查找模式邊,重復(fù)步驟S622獲取并記錄n次模塊切換次數(shù),其中n等于搜索邊平行移動的次數(shù);
S624、在平行移動次數(shù)n大于或等于采樣次數(shù)N時,比較記錄的n次模塊切換次數(shù),若n個模塊切換次數(shù)均相同,認(rèn)為模塊切換次數(shù)已經(jīng)穩(wěn)定,否則替換較早的模塊切換次數(shù),以當(dāng)前搜索線為初始位置,重復(fù)上述步驟,得到第一條切換模式邊上所有數(shù)據(jù)區(qū)的切換次數(shù),即所有黑白模塊的數(shù)量;
S625、根據(jù)步驟S624中得到的模塊切換次數(shù),記錄模塊發(fā)生切換的中點,進而得到標(biāo)準(zhǔn)DM碼圖像平行于第一條切換模式邊的所有數(shù)據(jù)區(qū)的穩(wěn)定分段長度;
S626、以第二條切換模式邊的外邊緣所在直線為初始搜索線,重復(fù)上述步驟,標(biāo)準(zhǔn)DM碼圖像平行于第二條切換模式邊的所有數(shù)據(jù)區(qū)的穩(wěn)定分段長度。
10.一種DM定位及識別的系統(tǒng),其特征在于,包括:
第一模塊,設(shè)置為獲取原圖像的二值化圖像;
第二模塊,設(shè)置為從二值化圖像中提取包含DM碼的有效區(qū)域;
第三模塊,設(shè)置為對有效區(qū)域進行單邊緣提取,得到DM碼的置信單邊緣圖像;
第四模塊,設(shè)置為通過置信單邊緣圖像得到有效邊緣圖像,并對有效單邊緣圖像進行霍夫變換,在霍夫變換域的參數(shù)空間里尋找到第一條查找模式邊所對應(yīng)的響應(yīng)點后建立角度屏蔽區(qū),尋找到角度屏蔽區(qū)之外的第二條查找模式邊所對應(yīng)的響應(yīng)點,進而定位DM碼的兩條查找模式邊,并獲取DM碼第一、第二條查找模式邊端點處的三個定位點;
第五模塊,設(shè)置為通過旋轉(zhuǎn)帶方向的像素累加器獲取DM碼的兩條切換模式邊,并求解這兩條切換模式邊交點處的第四個定位點;
第六模塊,設(shè)置為根據(jù)DM碼的四個定位點,對DM碼進行反透視變換,還原得到標(biāo)準(zhǔn)DM碼圖像,并對標(biāo)準(zhǔn)DM碼圖像進行網(wǎng)格劃分;
第七模塊,設(shè)置為對網(wǎng)格劃分后的DM碼進行碼字提取,還原碼字信息。