本發(fā)明涉及圖像處理
技術(shù)領(lǐng)域:
:,尤其涉及一種復(fù)雜背景下的二維條碼圖像定位方法及系統(tǒng)。
背景技術(shù):
::二維碼的類型有多種,其中pdf417是由美國symbol公司發(fā)明的一種連續(xù)型的層排式二維條碼,是便攜式數(shù)據(jù)文件(portabledatafile,簡稱pdf)的簡稱。作為一種新的信息存儲和傳輸技術(shù),pdf417具有成本低、信息可隨載體移動、不依賴于數(shù)據(jù)庫和計(jì)算機(jī)網(wǎng)絡(luò)、保密防偽性能強(qiáng)等優(yōu)點(diǎn),廣泛應(yīng)用于國防、公共安全、交通運(yùn)輸、醫(yī)療保健、工、商及政府管理等領(lǐng)域。我國于1997年制定了pdf417條碼的國家標(biāo)準(zhǔn)。在實(shí)際應(yīng)用中,條碼圖像通常包含在復(fù)雜的背景中,同時由于受條碼印刷和圖像采集設(shè)備的限制,以及在流通過程中污染損壞等因素容易導(dǎo)致圖像的缺陷,給條碼的識別帶來很大挑戰(zhàn)。對于這種背景復(fù)雜、對比度低、污染破損程度較嚴(yán)重的低質(zhì)量條碼圖像識別,關(guān)鍵在于條碼的定位及修復(fù)。條碼定位,即從復(fù)雜的背景中分離出條碼區(qū)域,其輸出直接用于后續(xù)的分割解碼,對最終的識別效果具有至關(guān)重要的影響。目前,二維條碼的檢測定位主要有三類方法:一是掃描,從左到右掃描原圖像,通過找起始和結(jié)束模塊實(shí)現(xiàn)條碼定位;二是基于邊緣檢測的方法,先對條碼信號進(jìn)行一階差分,然后找出條碼圖像的邊界位置;三是基于小波分析、神經(jīng)網(wǎng)絡(luò)等。前兩種方法都要求采集到的條碼較完整,圖像信噪比高,且對背景噪聲敏感;第三種方法較復(fù)雜,且處理結(jié)果不確定性高。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種復(fù)雜背景下的二維條碼圖像定位方法及系統(tǒng),通過對復(fù)雜背景下的二維條碼圖像進(jìn)行一系列處理,實(shí)現(xiàn)對二維條碼在復(fù)雜背景下的精準(zhǔn)定位。為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種復(fù)雜背景下的二維條碼圖像定位方法,所述方法包括:對二維條碼圖像進(jìn)行預(yù)處理,獲取預(yù)處理后的二維條碼圖像;對所述預(yù)處理后的二維條碼圖像進(jìn)行輪廓提取處理,獲取二維條碼圖像的條碼輪廓,并作為候選條碼區(qū);判斷每個候選條碼區(qū)是否為矩形,去除非矩形的候選條碼區(qū);對保留下來的候選區(qū)進(jìn)行矩形中心重疊去除處理,獲取對邊平行的候選條碼區(qū);根據(jù)所述對邊平行的候選條碼區(qū)獲取二維條碼圖像的定位。優(yōu)選地,所述對二維條碼圖像進(jìn)行預(yù)處理,包括:對二維條碼圖像進(jìn)行光線補(bǔ)償處理;對完成光線補(bǔ)償處理的二維條碼圖像進(jìn)行降噪處理;對完成降噪處理的二維條碼圖像采用自適應(yīng)的閾值分割并進(jìn)行二值化處理,獲取二值化處理結(jié)果。優(yōu)選地,所述對所述預(yù)處理后的二維條碼圖像進(jìn)行輪廓提取處理,包括:采用3*3矩形元素對所述預(yù)處理后的二維條碼圖像進(jìn)行腐蝕處理,去除所述預(yù)處理后的二維條碼圖像的背景;采用canny算子進(jìn)行邊緣檢測,從去除背景的二維條碼圖像的黑色背景中提取出白色輪廓;采用3*3矩形元素對邊緣檢測后的二維條碼圖像進(jìn)行膨脹處理;對膨脹處理后的二維條碼圖像進(jìn)行輪廓提取。優(yōu)選地,所述根據(jù)所述對邊平行的候選條碼區(qū)獲取二維條碼圖像的定位,包括:從候選條碼區(qū)的矩形中心進(jìn)行灰度跳變模式檢測,匹配所述中心點(diǎn)是否為起始模塊點(diǎn)或終止模塊點(diǎn),保留為起始模塊點(diǎn)或終止模塊點(diǎn)的候選條碼區(qū);對保留的候選條碼區(qū)進(jìn)行邊緣細(xì)化處理,確定所述條碼區(qū)的4個頂點(diǎn);根據(jù)所述條碼區(qū)的4個頂點(diǎn)對二維條碼圖像進(jìn)行定位,獲取定位結(jié)果。具體的,本發(fā)明實(shí)施例還提供了一種復(fù)雜背景下的二維條碼圖像定位系統(tǒng),所述系統(tǒng)包括:圖像預(yù)處理模塊:用于對二維條碼圖像進(jìn)行預(yù)處理,獲取預(yù)處理后的二維條碼圖像;輪廓處理模塊:用于對所述預(yù)處理后的二維條碼圖像進(jìn)行輪廓提取處理,獲取二維條碼圖像的條碼輪廓,并作為候選條碼區(qū);判斷模塊:用于判斷每個候選條碼區(qū)是否為矩形,去除非矩形的候選條碼區(qū);重疊去除模塊:用于對保留下來的候選區(qū)進(jìn)行矩形中心重疊去除處理,獲取對邊平行的候選條碼區(qū);定位模塊:用于根據(jù)所述對邊平行的候選條碼區(qū)獲取二維條碼圖像的定位。優(yōu)選地,所述圖像預(yù)處理模塊包括:光線補(bǔ)償單元:用于對二維條碼圖像進(jìn)行光線補(bǔ)償處理;降噪單元:用于對完成光線補(bǔ)償處理的二維條碼圖像進(jìn)行降噪處理;分割和二值化單元:用于對完成降噪處理的二維條碼圖像采用自適應(yīng)的閾值分割并進(jìn)行二值化處理,獲取二值化處理結(jié)果。優(yōu)選地,所述輪廓處理模塊包括:腐蝕處理單元:用于采用3*3矩形元素對所述預(yù)處理后的二維條碼圖像進(jìn)行腐蝕處理,去除所述預(yù)處理后的二維條碼圖像的背景;邊緣檢測單元:用于采用canny算子進(jìn)行邊緣檢測,從去除背景的二維條碼圖像的黑色背景中提取出白色輪廓;膨脹處理單元:用于采用3*3矩形元素對邊緣檢測后的二維條碼圖像進(jìn)行膨脹處理;輪廓處理單元:用于對膨脹處理后的二維條碼圖像進(jìn)行輪廓提取。優(yōu)選地,所述定位模塊包括:匹配單元:用于從候選條碼區(qū)的矩形中心進(jìn)行灰度跳變模式檢測,匹配所述中心點(diǎn)是否為起始模塊點(diǎn)或終止模塊點(diǎn),保留為起始模塊點(diǎn)或終止模塊點(diǎn)的候選條碼區(qū);邊緣細(xì)化處理單元:用于對保留的候選條碼區(qū)進(jìn)行邊緣細(xì)化處理,確定所述條碼區(qū)的4個頂點(diǎn);定位單元:用于根據(jù)所述條碼區(qū)的4個頂點(diǎn)對二維條碼圖像進(jìn)行定位,獲取定位結(jié)果。在本發(fā)明實(shí)施例中,通過對二維條碼圖像輪廓提取、判斷、定位等處理,實(shí)現(xiàn)對二維條碼在復(fù)雜背景下的精準(zhǔn)定位;通過對定位出的條碼進(jìn)行傾斜矯正,進(jìn)而為后續(xù)的解碼工作提供更準(zhǔn)確的信息。附圖說明為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見的,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。圖1是本發(fā)明實(shí)施例中的復(fù)雜背景下的二維條碼圖像定位方法的方法流程示意圖;圖2是本發(fā)明實(shí)施例中的復(fù)雜背景下的二維條碼圖像定位系統(tǒng)的系統(tǒng)結(jié)構(gòu)組成示意圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1是本發(fā)明實(shí)施例中的復(fù)雜背景下的二維條碼圖像定位方法的方法流程示意圖,如圖1所示,所述方法包括:s11:對二維條碼圖像進(jìn)行預(yù)處理,獲取預(yù)處理后的二維條碼圖像;s12:對所述預(yù)處理后的二維條碼圖像進(jìn)行輪廓提取處理,獲取二維條碼圖像的條碼輪廓,并作為候選條碼區(qū);s13:判斷每個候選條碼區(qū)是否為矩形,去除非矩形的候選條碼區(qū);s14:對保留下來的候選區(qū)進(jìn)行矩形中心重疊去除處理,獲取對邊平行的候選條碼區(qū);s15:根據(jù)所述對邊平行的候選條碼區(qū)獲取二維條碼圖像的定位。對s11作進(jìn)一步說明:對獲取到的二維條碼圖像進(jìn)行預(yù)處理,獲取預(yù)處理后的二維條碼圖像。獲取二維條碼圖像的方式可以為爬蟲算法爬取到的網(wǎng)絡(luò)圖片、攝像設(shè)備獲取的二維條碼圖像等方式。其中,預(yù)處理過程包括對二維條碼圖像進(jìn)行光線補(bǔ)償處理;對完成光線補(bǔ)償處理的二維條碼圖像進(jìn)行降噪處理;對完成降噪處理的二維條碼圖像采用自適應(yīng)的閾值分割并進(jìn)行二值化處理,獲取二值化處理結(jié)果。進(jìn)一步的,首先對二維條碼圖像進(jìn)行光線補(bǔ)償,可以采用逆向光線補(bǔ)償方法進(jìn)行光線補(bǔ)償,然后采用金字塔采樣的方法(在濾波的時候,采用自下向上采樣的方式)對光線補(bǔ)償后的二維條圖像進(jìn)行降噪處理,最后采用自適應(yīng)的閾值分割方法對降噪后的二維條碼圖像進(jìn)行分割,并二值化處理,完成對二維條碼圖像的預(yù)處理。對s12作進(jìn)一步說明:對所述預(yù)處理后的二維條碼圖像進(jìn)行輪廓提取處理,獲取二維條碼圖像的條碼輪廓,并作為候選條碼區(qū)。采用3*3矩形元素對所述預(yù)處理后的二維條碼圖像進(jìn)行腐蝕處理,去除所述預(yù)處理后的二維條碼圖像的背景;采用canny算子進(jìn)行邊緣檢測,從去除背景的二維條碼圖像的黑色背景中提取出白色輪廓;采用3*3矩形元素對邊緣檢測后的二維條碼圖像進(jìn)行膨脹處理;對膨脹處理后的二維條碼圖像進(jìn)行輪廓提取。進(jìn)一步的,之所以選擇canny算子進(jìn)行邊緣檢測,是因?yàn)閏anny算子作為一種優(yōu)化的邊緣檢測算法,在檢測圖像的邊緣是有著邊緣上連續(xù)等諸多有點(diǎn)。對s13作進(jìn)一步說明:判斷每個候選條碼區(qū)是否為矩形,去除非矩形的候選條碼區(qū)。對于每一個候選條碼區(qū),都可能存在不同的形狀,這些形狀都可能對后續(xù)的定位和數(shù)據(jù)讀取產(chǎn)生巨大的影響,影響解讀二維條碼的信息精度,在此,首選對每一個候選條碼區(qū)進(jìn)行一個初步的判斷,判斷這些候選條碼區(qū)是否是矩形,去除非矩形的候選條碼區(qū),在判斷的時候,允許存在一定的偏差,因?yàn)閳D像中的候選條碼區(qū)可能存在一定的傾斜角度,不能完全呈現(xiàn)為矩形,允許偏差角度值在5度范圍內(nèi)。對s14作進(jìn)一步說明:對保留下來的候選區(qū)進(jìn)行矩形中心重疊去除處理,獲取對邊平行的候選條碼區(qū)。在保留下來的候選條碼區(qū)中的條碼可能存在重疊的現(xiàn)象,這樣可能會影響后續(xù)的定位或讀取準(zhǔn)確性;為此,需要去除重疊的部分,保留對邊平行度較高的作為最終的候選條碼區(qū)。對s15作進(jìn)一步說明:根據(jù)所述對邊平行的候選條碼區(qū)獲取二維條碼圖像的定位。從候選條碼區(qū)的矩形中心進(jìn)行灰度跳變模式檢測,匹配所述中心點(diǎn)是否為起始模塊點(diǎn)或終止模塊點(diǎn),保留為起始模塊點(diǎn)或終止模塊點(diǎn)的候選條碼區(qū);對保留的候選條碼區(qū)進(jìn)行邊緣細(xì)化處理,確定所述條碼區(qū)的4個頂點(diǎn);根據(jù)所述條碼區(qū)的4個頂點(diǎn)對二維條碼圖像進(jìn)行定位,獲取定位結(jié)果。在矩形檢測、初步篩選完成的基礎(chǔ)上,進(jìn)行條碼區(qū)域確定及精確化處理,根據(jù)pdf417條碼特性可知,pdf417是由一定的條空構(gòu)成,相對于圖像中的其它區(qū)域,條碼區(qū)域的顯著特點(diǎn)是沿著行方向圖像點(diǎn)灰度呈規(guī)則性的跳變和波形分布,由此,區(qū)域精確化處理的算法如下:(1)從矩形中心點(diǎn)出發(fā),沿已知傾斜率進(jìn)行灰度跳變模式檢測,并匹配該點(diǎn)是否是起始模塊點(diǎn)或終止模塊點(diǎn);對某矩形來說,如果起始模塊點(diǎn)和終止模塊點(diǎn)都已檢測到,認(rèn)為是潛在的pdf417條碼區(qū)域;否則,拋棄該區(qū)域;(2)分別從起始模塊點(diǎn)和終止模塊點(diǎn)出發(fā),沿矩形垂直方向查找條碼邊緣,進(jìn)行邊緣細(xì)化處理,確定條碼區(qū)域的4個頂點(diǎn);(3)更新條碼區(qū)域的斜率,方便后續(xù)識別,并最終完成對二維條碼的精確定位。圖2是本發(fā)明實(shí)施例中的復(fù)雜背景下的二維條碼圖像定位系統(tǒng)的系統(tǒng)結(jié)構(gòu)組成示意圖,如圖2所示,具體的,本發(fā)明實(shí)施例還提供了一種復(fù)雜背景下的二維條碼圖像定位系統(tǒng),所述系統(tǒng)包括:圖像預(yù)處理模塊:用于對二維條碼圖像進(jìn)行預(yù)處理,獲取預(yù)處理后的二維條碼圖像;輪廓處理模塊:用于對所述預(yù)處理后的二維條碼圖像進(jìn)行輪廓提取處理,獲取二維條碼圖像的條碼輪廓,并作為候選條碼區(qū);判斷模塊:用于判斷每個候選條碼區(qū)是否為矩形,去除非矩形的候選條碼區(qū);重疊去除模塊:用于對保留下來的候選區(qū)進(jìn)行矩形中心重疊去除處理,獲取對邊平行的候選條碼區(qū);定位模塊:用于根據(jù)所述對邊平行的候選條碼區(qū)獲取二維條碼圖像的定位。優(yōu)選地,所述圖像預(yù)處理模塊包括:光線補(bǔ)償單元:用于對二維條碼圖像進(jìn)行光線補(bǔ)償處理;降噪單元:用于對完成光線補(bǔ)償處理的二維條碼圖像進(jìn)行降噪處理;分割和二值化單元:用于對完成降噪處理的二維條碼圖像采用自適應(yīng)的閾值分割并進(jìn)行二值化處理,獲取二值化處理結(jié)果。優(yōu)選地,所述輪廓處理模塊包括:腐蝕處理單元:用于采用3*3矩形元素對所述預(yù)處理后的二維條碼圖像進(jìn)行腐蝕處理,去除所述預(yù)處理后的二維條碼圖像的背景;邊緣檢測單元:用于采用canny算子進(jìn)行邊緣檢測,從去除背景的二維條碼圖像的黑色背景中提取出白色輪廓;膨脹處理單元:用于采用3*3矩形元素對邊緣檢測后的二維條碼圖像進(jìn)行膨脹處理;輪廓處理單元:用于對膨脹處理后的二維條碼圖像進(jìn)行輪廓提取。優(yōu)選地,所述定位模塊包括:匹配單元:用于從候選條碼區(qū)的矩形中心進(jìn)行灰度跳變模式檢測,匹配所述中心點(diǎn)是否為起始模塊點(diǎn)或終止模塊點(diǎn),保留為起始模塊點(diǎn)或終止模塊點(diǎn)的候選條碼區(qū);邊緣細(xì)化處理單元:用于對保留的候選條碼區(qū)進(jìn)行邊緣細(xì)化處理,確定所述條碼區(qū)的4個頂點(diǎn);定位單元:用于根據(jù)所述條碼區(qū)的4個頂點(diǎn)對二維條碼圖像進(jìn)行定位,獲取定位結(jié)果。具體地,本發(fā)明實(shí)施例的系統(tǒng)相關(guān)功能模塊的工作原理可參見方法實(shí)施例的相關(guān)描述,這里不再贅述。在本發(fā)明實(shí)施例中,通過對二維條碼圖像輪廓提取、判斷、定位等處理,實(shí)現(xiàn)對二維條碼在復(fù)雜背景下的精準(zhǔn)定位;通過對定位出的條碼進(jìn)行傾斜矯正,進(jìn)而為后續(xù)的解碼工作提供更準(zhǔn)確的信息。本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計(jì)算機(jī)可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:只讀存儲器(rom,readonlymemory)、隨機(jī)存取存儲器(ram,randomaccessmemory)、磁盤或光盤等。另外,以上對本發(fā)明實(shí)施例所提供的一種復(fù)雜背景下的二維條碼圖像定位方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)采用了具體個例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。當(dāng)前第1頁12當(dāng)前第1頁12