摘 ?要:高質(zhì)量成像是快速讀取圖像中條碼信息的重要保障。影響成像質(zhì)量的參數(shù)有信號增益和曝光時間,兩者取值范圍廣,組合后的相似參數(shù)對多。為快速找到可穩(wěn)定解碼的參數(shù)對,將參數(shù)調(diào)整過程分為條碼搜索、參數(shù)優(yōu)化和參數(shù)確認(rèn)三個階段,各階段的側(cè)重點不同,共同完成參數(shù)調(diào)整過程。測試證明,所述方法具有速度快、參數(shù)穩(wěn)、解碼可靠的特點。
關(guān)鍵詞:信號增益;曝光時間;條碼搜索;參數(shù)調(diào)整
中圖分類號:TP391.4 ? ? 文獻標(biāo)識碼:A 文章編號:2096-4706(2021)12-0113-03
Abstract: High quality imaging is an important guarantee for fast reading of barcode information in images. The parameters that affect the imaging quality include signal gain and exposure time, which have a wide range of values, and there are many similar parameters pairs after combination. In order to quickly find the parameter pairs that can be decoded stably, the parameter adjustment process is divided into three stages: barcode search, parameter optimization and parameter confirmation. The focus of each stage is different to jointly complete the parameter adjustment process. The test shows that the method has the characteristics of fast speed, stable parameters and reliable decoding.
Keywords: signal gain; exposure time; barcode search; parameters adjustment
0 ?引 ?言
自動曝光是數(shù)字成像系統(tǒng)必不可少的組成部分,是獲取亮度適中、細節(jié)表現(xiàn)清晰圖像的重要保障。對于常用的成像系統(tǒng),鑒于成本、便利性、可控性等考慮,自動曝光通常主要對曝光時間和信號增益進行自動控制。
對于以讀取一維碼或二維碼信息為目標(biāo)的條碼圖像,現(xiàn)有的自動曝光技術(shù)主要針對人像、風(fēng)景等來調(diào)整相關(guān)參數(shù),存在的不足之處主要有:(1)整體圖像較清晰,條碼所在的局部圖像不夠清晰;(2)使用整幅圖像進行計算,運算量大,用時多;(3)全部參數(shù)組合的覆蓋率低,調(diào)整后的參數(shù)通常易受到噪聲干擾。
在本文設(shè)計的方法中,曝光時間和信號增益自動調(diào)整方法以找到可穩(wěn)定解碼的參數(shù)組合為目標(biāo),分為條碼搜索、參數(shù)優(yōu)化和參數(shù)確認(rèn)三個階段,具有調(diào)整速度快、所選參數(shù)穩(wěn)、解碼可靠的特點。
1 ?參數(shù)空間
用于自動調(diào)整的光學(xué)參數(shù)包括曝光時間和信號增益,兩者的取值均為正整數(shù)。設(shè)曝光時間的取值范圍[Emin,Emax],信號增益的取值范圍為[Gmin,Gmax],兩者的全部組合,構(gòu)成成像光學(xué)參數(shù)的搜索空間即參數(shù)空間。
2 ?光學(xué)參數(shù)自動調(diào)整方法組成
光學(xué)參數(shù)自動調(diào)整的組成模塊如圖1所示,包含相機成像、解碼引擎、亮度評估、參數(shù)調(diào)整、階段控制等。
2.1 ?解碼引擎
解碼引擎是一個圖像分析處理程序,當(dāng)解碼成功時,能夠輸出圖像中條碼的數(shù)量、條碼的內(nèi)容、條碼在圖像中的像素坐標(biāo)等內(nèi)容。當(dāng)場景中存在條碼,只有成像光學(xué)參數(shù)合適,所拍圖像亮度適中、條碼在所拍照片中清晰可見,解碼引擎才能夠解碼成功,然后輸出條碼的數(shù)量、內(nèi)容及條碼在圖像中的位置坐標(biāo),此時稱圖像中有條碼。當(dāng)光學(xué)參數(shù)不合適時,即使場景中存在條碼,只要所拍照片亮度欠佳、條碼無法清晰分辨,解碼引擎就會解碼失敗,輸出的條碼數(shù)量將會為0,此時稱圖像中無條碼。因此,只有光學(xué)參數(shù)合適,所拍圖像亮度適中、條碼清晰可見時,才能獲得條碼的內(nèi)容、位置等信息。
由于解碼引擎運行一次需要的時間相對較多,為提高成像光學(xué)參數(shù)調(diào)整的效率,減少參數(shù)調(diào)整所用時間。因此,先對待解碼圖像的清晰度或亮度值進行評估,只有亮度評估值在可接受范圍內(nèi)的待解碼圖像才傳輸給解碼引擎。當(dāng)待解碼圖像的亮度評估值偏高或偏低以至于不可能解碼成功時,則直接對曝光時間或信號增益進行調(diào)整而不運行解碼引擎,從而節(jié)約解碼引擎運行時間,減少光學(xué)參數(shù)調(diào)整所用的總時間。
2.2 ?亮度評估
亮度評估模塊以采樣方式選取當(dāng)前圖像中心區(qū)域內(nèi)一定間隔的像素,進行灰度直方圖統(tǒng)計分析,計算出一個表示當(dāng)前圖像亮度或清晰度水平的正整數(shù),即圖像亮度評估值。當(dāng)圖像亮度評估值大于100時,表示當(dāng)前圖像偏亮;反之當(dāng)圖像亮度評估值小于100時,表示當(dāng)前圖像偏暗;當(dāng)圖像亮度評估值等于100時,表示當(dāng)前圖像的亮度很合適。
當(dāng)圖像亮度評估值小于特定數(shù)值Lmin時,表示圖像中各像素的灰度值均較小且集中靠近低亮度區(qū)域,圖像偏暗、目標(biāo)模糊,此時稱圖像過暗;反之當(dāng)圖像亮度評估值大于特定數(shù)值Lmax時,表示圖像中各像素的灰度值均較大且集中靠近高亮度區(qū)域,圖像偏亮、目標(biāo)模糊,此時稱圖像過亮;當(dāng)圖像亮度評估值位于Lmin和Lmax之間時,稱圖像可接受。根據(jù)圖像亮度評估值的計算過程,可知Lmin和Lmax的關(guān)系為:
0 當(dāng)圖像亮度評估值位于100附近的一個區(qū)間時,圖像中各像素的灰度值基本上在整個灰度范圍的高、中、低區(qū)域均有分布,圖像層次分明、亮暗適中、目標(biāo)清晰,此時稱圖像適中。設(shè)圖像適中時圖像亮度評估值所在區(qū)間為[Llow,Lhigh],則Lmin、Lmax、Llow和Lhigh的關(guān)系為: 0 在條碼搜索和參數(shù)優(yōu)化階段均要對待解碼圖像進行亮度評估,但前者的待解碼圖像為整幅圖像,后者的待解碼圖像為條碼所在區(qū)域的子圖像。在參數(shù)優(yōu)化階段的待解碼圖像只包含條碼所在區(qū)域的圖像,因此,亮度評估值能夠直接反映條碼成像質(zhì)量的清晰度。 2.3 ?參數(shù)調(diào)整 參數(shù)調(diào)整實現(xiàn)信號增益、曝光時間的具體控制方法,前者只有單向增大調(diào)整,后者以減少調(diào)整為主,輔助以重置調(diào)整。 2.3.1 ?信號增益調(diào)整方法 為避免多次重復(fù)使用相似的參數(shù)組合,減少計算量及計算用時,信號增益在調(diào)整過程中只增大不減少,而且信號增益增大的步長固定不變。信號增益初始值設(shè)置為Gmin,當(dāng)需要調(diào)整信號增益時,信號增益的調(diào)整計算公式為: Gnxt=Gcur+Gstp 其中Gnxt表示調(diào)整后的信號增益,Gcur表示當(dāng)前的信號增益,Gstp表示信號增益的調(diào)整步長,為固定的正整數(shù)。當(dāng)調(diào)整后的信號增益Gnxt大于允許的最大值Gmax時,則光學(xué)參數(shù)調(diào)整結(jié)束。 2.3.2 ?曝光時間調(diào)整方法 為實現(xiàn)圖像亮暗兩個方向的參數(shù)調(diào)整,結(jié)合信號增益的調(diào)整方法,曝光時間的調(diào)整以減少為主、重置為輔,初始值設(shè)置為Emax。 2.3.2.1 ?曝光時間減少調(diào)整 當(dāng)信號增益固定不變時,曝光時間采用減少調(diào)整方式,計算公式如下。 Enxt=Ecur–Estp 其中Enxt表示調(diào)整后的曝光時間,Ecur表示當(dāng)前的曝光時間,Estp表示曝光時間的減少調(diào)整步長。當(dāng)調(diào)整后的曝光時間Enxt小于Emin時,則對信號增益進行調(diào)整。 曝光時間的減少調(diào)整步長計算方法為: 其中運算符[·]表示向下取整,Ek為正整數(shù)。Ek的大小用于控制曝光時間調(diào)整的幅度,例如當(dāng)前曝光時間Ecur為49、Ek為5時,曝光時間的減少調(diào)整步長Estp為9。因此,減少調(diào)整后的曝光時間Enxt為40,即Enxt=49-9=40。 2.3.2.2 曝光時間重置調(diào)整 當(dāng)信號增益需要進行增大調(diào)整時,曝光時間需同時進行重置調(diào)整,曝光時間重置調(diào)整的計算公式為: 其中Enxt表示調(diào)整后的曝光時間,Ecur表示當(dāng)前的曝光時間,Egn是運行過解碼引擎后,特定信號增益下允許的最大曝光時間,計算公式為: 其中運算符[·]表示向下取整。 2.3.3 ?信號增益的調(diào)整條件 信號增益的調(diào)整方法是不斷增大,直到允許的最大值Gmax。由于增大信號增益可以調(diào)亮圖像,因此待解碼圖像過暗時,需要調(diào)整信號增益以增大待解碼圖像的亮度評估值。 此外,當(dāng)曝光時間為最小值Emin時,曝光時間無法繼續(xù)減少,為實現(xiàn)對整個參數(shù)空間的搜索遍歷,此時需增大信號增益并重置曝光時間。 2.4 ?階段控制 2.4.1 ?條碼搜索 條碼搜索階段以找到條碼位置為目標(biāo),將整幅圖像作為待解碼圖像進行亮度評估,亮度評估值在可接受范圍內(nèi)的傳輸給解碼引擎,解碼成功則跳轉(zhuǎn)到參數(shù)優(yōu)化階段,反之則根據(jù)待解碼圖像的亮度評估值,進行信號增益、曝光時間的調(diào)整。 2.4.2 ?參數(shù)優(yōu)化 參數(shù)優(yōu)化階段以找到亮度適中的最佳參數(shù)組合為目標(biāo),將條碼所在區(qū)域的子圖像作為待解碼圖像進行亮度評估,根據(jù)亮度評估值,進行信號增益、曝光時間的調(diào)整,但不運行解碼引擎。 2.4.3 ?參數(shù)確認(rèn) 參數(shù)確認(rèn)階段以統(tǒng)計分析成功解碼概率為目標(biāo),將條碼所在區(qū)域的子圖像作為待解碼圖像,不進行亮度評估,不進行信號增益和曝光時間的調(diào)整,直接運行解碼引擎。統(tǒng)計分析多次運行解碼引擎輸出結(jié)果,計算出輸出成功解碼概率、輸出選取的參數(shù)組合、結(jié)束光學(xué)參數(shù)調(diào)整過程。 2.4.4 ?階段轉(zhuǎn)換 條碼搜索階段轉(zhuǎn)換到參數(shù)優(yōu)化的條件是找到一個能夠成功解碼的參數(shù)組合;參數(shù)優(yōu)化階段轉(zhuǎn)換到參數(shù)確認(rèn)階段的條件為找到一個使待解碼圖像亮度適中的參數(shù)組合或搜索遍歷了整個參數(shù)空間。在參數(shù)優(yōu)化階段,若搜索遍歷了整個參數(shù)空間也沒有找到一個使待解碼圖像亮度適中的參數(shù)組合,則參數(shù)確認(rèn)階段使用記錄的最佳參數(shù)進行成功解碼概率的統(tǒng)計分析。各階段的轉(zhuǎn)換過程如圖2所示。 2.5 ?解碼統(tǒng)計及結(jié)果輸出 解碼統(tǒng)計模塊對多次解碼的結(jié)果進行統(tǒng)計,計算出成功解碼的概率,公式為PS=。其中PS表示成功解碼的概率,NS表示成功解碼的次數(shù),Nt表示解碼的總次數(shù)。 結(jié)果輸出模塊根據(jù)光學(xué)參數(shù)自動調(diào)整過程,輸出相應(yīng)的結(jié)果,主要有:(1)參數(shù)調(diào)整成功,輸出選擇的最佳參數(shù)及成功解碼概率;(2)參數(shù)調(diào)整失敗,輸出提示信息。 3 ?測試效果 采用工業(yè)相機,使用表1所示的變量數(shù)值,對提出的成像光學(xué)參數(shù)自動調(diào)整方法進行測試,得到參數(shù)調(diào)整過程中的數(shù)值如表2所示,關(guān)鍵節(jié)點所拍圖像如圖3和圖4所示。 參數(shù)調(diào)整后所拍圖像如圖5所示??梢钥闯?,即使在逆光、復(fù)雜背景下,提出的算法依然能夠找到穩(wěn)定解碼的參數(shù)。 4 ?結(jié) ?論 文中提出的光學(xué)參數(shù)自動調(diào)整方法,以找到穩(wěn)定解碼的光學(xué)參數(shù)為目標(biāo),劃分成條碼搜索、參數(shù)優(yōu)化和參數(shù)確認(rèn)三個階段。每個階段有區(qū)別的使用整幅圖像或區(qū)域子圖像,實現(xiàn)對可解碼參數(shù)的快速高效調(diào)整。實際測試驗證了相關(guān)方法的有效性。相關(guān)方法既可以用于調(diào)整信號增益和曝光時間,也可以擴展用于調(diào)整其他參數(shù)。這也是文中所提方法可進一步優(yōu)化的地方。 參考文獻 [1] PROAKIS J G,MANOLAKIS D G.數(shù)字信號處理——原理、算法與應(yīng)用:第4版 [M].方艷梅,劉永清,等譯.北京:電子工業(yè)出版社,2014. [2] JOSHI P,ESCRIVA D M,GODOY V. OpenCV實例精解 [M].呆萌院長,李風(fēng)明,李翰陽,譯.北京:機械工業(yè)出版社,2016. [3] 毛星云,冷雪飛,等.OpenCV3編程入門 [M].北京:電子工業(yè)出版社,2015. [4] STEGER C,ULRICH M,WIEDEMANN C.機器視覺算法與應(yīng)用 [M].楊少榮,吳迪靖,段德山,譯.北京:清華大學(xué)出版社,2008. [5] CYGANEK B.數(shù)字圖像目標(biāo)檢測與識別——理論與實踐 [M].宋曉煒,楊蕾,瞿博陽,譯.北京:電子工業(yè)出版社,2016. 作者簡介:王海豐(1985.01—),男,漢族,河南安陽人,工程師,碩士研究生,研究方向:數(shù)字圖像處理及識別。