流程圖;
[0048]圖3是本發(fā)明實施例二中車輛識別碼的檢測處理裝置的結(jié)構(gòu)示意圖;
[0049]圖4是本發(fā)明實施例二中車輛識別碼的檢測處理方法流程圖;
[0050]圖5是本發(fā)明實施例三中車輛識別碼的檢測處理裝置的結(jié)構(gòu)示意圖;
[0051]圖6是本發(fā)明實施例三中車輛識別碼的檢測處理方法流程圖。
【具體實施方式】
[0052]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0053]實施例一
[0054]請參閱圖1,本實施例中,車輛識別碼的檢測處理裝置包括有圖像獲取模塊,圖像獲取模塊用于獲取車輛識別碼的源圖像,車輛識別碼檢測處理裝置還包括以下部分:
[0055]條形碼區(qū)域檢測定位單元110:用于從源圖像中檢測定位出VIN條形碼區(qū)域;
[0056]條形碼提取單元120:用于根據(jù)檢測定位結(jié)果從源圖像中分割提取出VIN條形碼區(qū)域。
[0057]進(jìn)一步地,條形碼區(qū)域檢測定位單元110具體包括以下組成部分:
[0058]豎向邊界檢測模塊111:用于根據(jù)條形碼的形狀特征,對源圖像通過Sobel算子進(jìn)行豎向邊界檢測,得到一維條形碼的邊界線(每根條形碼有左右兩條豎向邊界線);
[0059]噪聲去除模塊112:用于先將源圖像中通過豎向邊界檢測得到的條形碼區(qū)域全部連接起來形成一塊長條矩形區(qū)域,再去除圖像上其他區(qū)域的噪聲;
[0060]二值化模塊113:用于將噪聲去除模塊112處理后的圖像二值化為黑白圖像;
[0061]輪廓檢測及定位模塊114:用于通過圖像輪廓檢測,提取出黑白圖像中各個區(qū)域,通過對各區(qū)域特征的篩選和比較,抽取出符合條形碼輪廓特征的矩形區(qū)域塊,如果沒有符合條形碼輪廓特征的區(qū)域,則對源圖像不做修改,若檢測到符合特征的矩形區(qū)域塊,則提取出該區(qū)域在源圖像中的位置信息。
[0062]通過該條形碼區(qū)域檢測定位單元110,可以準(zhǔn)確地對條形碼區(qū)域進(jìn)行定位。如果源圖像中沒有條形碼,則不對源圖像進(jìn)行處理。
[0063]進(jìn)一步地,條形碼提取單元120具體包括以下組成部分:
[0064]圖像旋轉(zhuǎn)模塊121,用于將源圖像根據(jù)輪廓檢測及定位模塊114提取的矩形區(qū)域,通過仿射變換進(jìn)行旋轉(zhuǎn)調(diào)整,使傾斜的矩形區(qū)域變成正的區(qū)域;
[0065]分割提取模塊122,根據(jù)輪廓檢測及定位模塊114提取的矩形區(qū)域位置信息,以及圖像旋轉(zhuǎn)模塊121旋轉(zhuǎn)的角度和結(jié)果,從圖像中分割提取出該矩形區(qū)域。
[0066]通過該條形碼提取單元120,不管源圖像有無傾斜,都可以從中準(zhǔn)確地分割提取中之前定位到的條形碼區(qū)域。
[0067]相應(yīng)地,請參閱圖2,本實施例一中車輛識別碼的檢測處理方法包括步驟:
[0068]201、Sobel豎向邊界檢測:根據(jù)條形碼的形狀特征,通過Sobel算子進(jìn)行豎向邊界檢測,得到一維條形碼的邊界線(每根條形碼有左右兩條豎向邊界線)。
[0069]202、閉運算&開運算:先閉運算后開運算,都采用相同的水平方向的矩形長條核,閉運算將豎向邊界檢測到得條形碼區(qū)域全部連接起來,成為一塊長條矩形區(qū)域,使得開運算不會影響到此區(qū)域,開運算則是為了去除圖像上其他經(jīng)過閉運算而產(chǎn)生的小塊的與矩形區(qū)分離的噪聲。
[0070]203、二值化處理:由于經(jīng)過Sobel算子的邊界檢測后,圖像會產(chǎn)生灰色的中間值,需要在閉開運算后重新二值化為黑白圖像。
[0071]204、輪廓檢測和定位處理:通過圖像輪廓檢測,提取出圖像中各個區(qū)域,通過對各區(qū)域特征的篩選和比較,抽取出特征符合的矩形區(qū)域,如果沒有符合條形碼輪廓特征的區(qū)域,則跳出處理過程,對源圖像不做修改,若檢測到符合特征的區(qū)域,則提取出該區(qū)域在圖像中的位置信息并執(zhí)行下一步。
[0072]205、旋轉(zhuǎn)調(diào)整:將源圖像根據(jù)前一步提取的矩形區(qū),通過仿射變換進(jìn)行旋轉(zhuǎn)調(diào)整,使傾斜的矩形區(qū)變成正的區(qū)域,這樣的調(diào)整不僅使得后面的提取過程更加精確,而且允許拍攝的源圖像具有一定的旋轉(zhuǎn)和傾斜,方便了用戶的使用;
[0073]206、分割提取:根據(jù)步驟204中提取的區(qū)域位置信息,以及步驟205中旋轉(zhuǎn)的角度和結(jié)果,從圖像中分割提取出該矩形區(qū)域。
[0074]該步驟中,分割提取出的矩形區(qū)域即條形碼區(qū)域,本實施例中在后續(xù)操作中可直接對條形碼區(qū)域進(jìn)行進(jìn)一步的處理。
[0075]實施例二
[0076]在實施例一中,車輛識別碼的檢測處理裝置直接對用戶拍攝的源圖像中的VIN條形碼進(jìn)行檢測定位,由于各個設(shè)備攝像頭像素、分辨率各不相同,而且由于源圖像為彩色圖像使得大大增加了后續(xù)處理過程的圖像處理數(shù)據(jù),因而實施例一存在著通用性差以及圖像處理速度慢的缺陷。
[0077]為克服上述缺陷,請參閱圖3,本實施例二中,車輛識別碼的檢測處理裝置新增了圖像預(yù)處理單元310,用于在對源圖像中的VIN條形碼進(jìn)行檢測定位之前對源圖像進(jìn)行預(yù)處理。
[0078]具體地,圖像預(yù)處理單元310進(jìn)一步包括:
[0079]圖像縮放模塊311,用于將各種源圖像縮放到指定的大小,以實現(xiàn)普遍適用性;
[0080]灰度化及二值化模塊312,用于先將彩色多通道的源圖像轉(zhuǎn)化為單通道灰度圖像,再自適應(yīng)二值化成黑白二值圖像,這不僅減少了不必要的圖像數(shù)據(jù),加快了圖像處理的速度,而且同時也可以提供更方便VIN碼識別的圖像;
[0081]豎向開運算模塊313,用于根據(jù)條形碼的豎向特征,通過豎向開運算去除灰度化及自適應(yīng)二值化后的圖像中的噪點。
[0082]相應(yīng)地,請參閱圖4,本實施例二中車輛識別碼的檢測處理方法包括步驟:
[0083]401、圖像縮放:將源圖像縮放到指定的大小,由于設(shè)備攝像頭像素、屏幕分辨率各不相同,為了具有普遍適用性,將源圖像縮放到統(tǒng)一的固定大小。
[0084]402、灰度化及自適應(yīng)二值化:將彩色多通道圖像轉(zhuǎn)化為單通道灰度圖像,然后自適應(yīng)二值化成黑白二值圖像,這不僅減少了不必要的圖像數(shù)據(jù),加快了圖像處理的速度,而且同時也可以提供更方便VIN碼識別的圖像。
[0085]403、豎向開運算:自適應(yīng)的二值化方法會帶來的副作用是產(chǎn)生很多小噪點,通過豎向開運算可以去除大部分噪點,即在圖像的開運算中使用豎向的長條矩形核,由于條形碼的豎向特征,此方法可以在去除噪點的同時保留條形碼區(qū)不受影響。此步驟需拷貝圖像副本供第408步使用。
[0086]404,Sobel豎向邊界檢測:根據(jù)條形碼的形狀特征,通過Sobel算子進(jìn)行豎向邊界檢測,得到一維條形碼的邊界線。
[0087]405、閉運算&開運算:先閉運算后開運算,都采用相同的水平方向的矩形長條核。
[0088]406、二值化:由于經(jīng)過Sobel算子的邊界檢測后,圖像會產(chǎn)生灰色的中間值,需要在閉開運算后重新二值化為黑白圖像。
[0089]407、輪廓檢測和定位:通過圖像輪廓檢測,提取出圖像中各個區(qū)域,通過對各區(qū)域特征的篩選和比較,抽取出特征符合的矩形區(qū)域塊,如果沒有符合條形碼輪廓特征的區(qū)域,則跳出處理過程,對源圖像不做修改,若檢測到符合特征的區(qū)域,則提取出該區(qū)域在圖像中的位置信息。
[0090]408、旋轉(zhuǎn)調(diào)整:將步驟403中豎向開運算后產(chǎn)生的圖像根據(jù)前一步提取的矩形區(qū),通過仿射變換進(jìn)行旋轉(zhuǎn)調(diào)整,使傾斜的矩形區(qū)變成正的區(qū)域,這樣的調(diào)整不僅使得后面的提取過程更加精確,而且允許拍攝的源圖像具有一定的旋轉(zhuǎn)和傾斜,方便了用戶的使用。
[0091]409、分割提取:根據(jù)步驟407中提取的區(qū)域位置信息,以及旋轉(zhuǎn)的角度和結(jié)果,從圖像中分割提取出該矩形區(qū)域。
[0092]實施例三
[0093]在實施例一和實施例二中的處理流程中,均只是對條形碼進(jìn)行了一次篩選;而本實施例