本發(fā)明涉及條碼生成,尤其涉及一種受損二維碼的生成方法。
背景技術:
1、二維碼(quick?response?code)作為一種高效的信息存儲和傳遞工具,已廣泛應用于商品標識、支付系統(tǒng)、物流追蹤及信息分享等領域。二維碼識別算法是實現(xiàn)快速、準確讀取二維碼信息的核心技術。二維碼識別算法依賴于掃描設備快速、準確地解析圖像信息。然而,在實際應用中,二維碼容易遭遇污損、遮擋、變形等問題,這些因素可能導致識別失敗。
2、現(xiàn)有的二維碼生成技術,主要關注生成理想狀態(tài)下的二維碼,缺乏對二維碼在實際使用中可能出現(xiàn)的受損特征的有效模擬,導致生成的受損二維碼不夠真實,無法滿足訓練和評估二維碼識別系統(tǒng)的需求。
技術實現(xiàn)思路
1、本發(fā)明提供一種受損二維碼的生成方法,用以解決現(xiàn)有技術中導致生成的受損二維碼不夠真實,無法滿足訓練和評估二維碼識別系統(tǒng)的需求的問題。
2、本發(fā)明提供一種受損二維碼的生成方法,包括:
3、生成二維碼理想圖;
4、對二維碼理想圖進行受損效果處理,得到受損二維碼圖像;
5、獲取背景圖;
6、將受損二維碼圖像與背景圖進行融合,得到融合圖像;
7、對融合圖像進行模糊化處理;
8、生成受損的二維碼圖像。
9、根據(jù)本發(fā)明提供的一種受損二維碼的生成方法,受損效果處理包括:在二維碼理想圖上分別進行曲線劃痕生成、直線劃痕生成及磨損生成。
10、根據(jù)本發(fā)明提供的一種受損二維碼的生成方法,曲線劃痕生成的方法包括:
11、隨機生成控制點p0、p1、p2,通過公式(1)生成曲線,將曲線疊加到二維碼理想圖上形成曲線劃痕;公式(1)為:
12、b(t)=(1-t)2p0+2(1-t)tp1+t2p2??????(1)
13、其中,b(t)為曲線上的點的位置;t為參數(shù),取值范圍為[0,1],當t從0增加到1時,曲線上的點依次從p0平滑移動到p1和p2。
14、根據(jù)本發(fā)明提供的一種受損二維碼的生成方法,直線劃痕生成的方法包括:
15、隨機生成起始點和結束點,將兩個點連線形成直線,將直線疊加到二維碼理想圖上形成直線劃痕。
16、根據(jù)本發(fā)明提供的一種受損二維碼的生成方法,磨損生成的方法包括:
17、隨機生成不規(guī)則的多邊形區(qū)域,將多邊形區(qū)域疊加到二維碼理想圖上,調節(jié)多邊形區(qū)域的透明度以控制磨損效果的強度;在此過程中采用公式(2)進行:
18、iworn(x,y)=ifused(x,y)·(1-a(x,y))+ipoly(x,y)·a(x,y)???(2)
19、其中,iworn(x,y)為疊加磨損效果后圖像在坐標(x,y)的像素值,ifused(x,y)為多邊形區(qū)域疊加到二維碼理想圖上的圖像在坐標(x,y)的像素值,ipoly(x,y)為用于模擬磨損效果的多邊形區(qū)域的圖像在坐標(x,y)的像素值;a(x,y)為權重掩膜,其值在[0,1]之間,用于控制每個像素位置在融合過程中的影響程度;
20、在疊加磨損效果后,通過降低圖像的對比度c和亮度l,對圖像進行褪色處理;在此過程中,采用公式(3)進行:
21、
22、其中,ifaded(x,y)為褪色后的圖像在坐標(x,y)的像素值,iworn(x,y)為疊加磨損效果后的圖像在坐標(x,y)的像素值,coriginal為原始圖像的對比度。
23、根據(jù)本發(fā)明提供的一種受損二維碼的生成方法,將受損二維碼圖像與背景圖進行融合時,采用公式(4)進行:
24、
25、其中:ioutput(x,y)表示融合后的輸出圖像在坐標(x,y)的像素值;isource(x′,y′)表示源受損二維碼圖像在坐標(x′,y′)的像素值;是歸一化因子,確保所有權重的總和為1;ω表示在融合過程中考慮的鄰域范圍;(x′,y′)∈ω表示鄰域區(qū)域ω內的像素,即包含當前像素(x,y)周圍的若干像素點;λ是控制權重衰減速率的參數(shù)。
26、根據(jù)本發(fā)明提供的一種受損二維碼的生成方法,將受損二維碼圖像與背景圖進行融合后,根據(jù)背景圖的光照條件對受損二維碼圖像的亮度進行動態(tài)調整,其調整公式(5)為:
27、iadjusted(x,?y)?=?ioutput(x,?y)?+?δ?l??????(5)
28、其中,iadjusted(x,y)為調整亮度后的受損二維碼圖像在坐標(x,y)的像素值,ioutput(x,y)為調整亮度前的受損二維碼圖像在坐標(x,y)的像素值,δl為根據(jù)背景圖光照條件調整的亮度值。
29、根據(jù)本發(fā)明提供的一種受損二維碼的生成方法,對融合圖像進行模糊化處理,包括:
30、生成隨機噪聲并將其疊加到融合后的二維碼圖像中,采用公式(6)進行:
31、inoisy(x,y)=ifused(x,y)+n(x,y)??????(6)
32、其中,inoisy(x,y)為添加噪聲后的圖像在坐標(x,y)的像素值,ifused(x,y)為融合后的圖像在坐標(x,y)的像素值,n(x,y)為在坐標(x,y)處的隨機噪聲值;
33、對添加噪聲后的圖像進行模糊處理,模糊的計算公式(7)為:
34、
35、其中:iblurred(x,y)為模糊處理后的圖像在坐標(x,y)的像素值;inoisy(u,v)為帶噪聲圖像在坐標(u,v)的像素值;g(x-u,y-v)是高斯權重函數(shù),根據(jù)坐標(x,y)和鄰域內坐標(u,v)之間的距離計算權重,
36、σ為模糊程度參數(shù);k為歸一化常數(shù),保證權重和的總值為1;ω為模糊過程中坐標(x,y)的鄰域范圍。
37、根據(jù)本發(fā)明提供的一種受損二維碼的生成方法,對融合圖像進行模糊化處理之前,還包括對融合圖像進行柱面變換:
38、將融合圖像從平面坐標系轉換到柱面坐標系,采用公式(8)進
39、行:x′=r·cos(θ),y′=r·sin(θ),z′=z(8)
40、其中:(x′,y′,z′)為變換后的柱面坐標;r為xy平面上的徑向距離;θ為在xy平面上繞z軸的角度,以弧度為單位;z為圖像的高度坐標。
41、本發(fā)明提供的受損二維碼的生成方法,通過結合圖像處理技術,能夠有效模擬多種受損特征,如劃痕、污漬和磨損,從而生成更符合實際使用情況的受損二維碼,增強其視覺真實感。同時,考慮了多種受損特征的組合效果,使生成的二維碼在不同應用場景中具有豐富多樣性和適應性。此外,在生成過程中盡可能保留細粒度特征信息,提高小尺寸受損目標的表現(xiàn)力和可讀性。采用泊松比融合算法,能夠有效消除二維碼與背景之間的邊界差異,確保融合后的圖像視覺上更自然和協(xié)調。同時,通過細致的圖像處理,確保模糊和受損效果自然、真實,避免產生人工化的視覺效果,使生成的受損二維碼更加可信。
1.一種受損二維碼的生成方法,其特征在于,包括:
2.根據(jù)權利要求1所述的受損二維碼的生成方法,其特征在于,受損效果處理包括:在二維碼理想圖上分別進行曲線劃痕生成、直線劃痕生成及磨損生成。
3.根據(jù)權利要求2所述的受損二維碼的生成方法,其特征在于,曲線劃痕生成的方法包括:
4.根據(jù)權利要求2所述的受損二維碼的生成方法,其特征在于,直線劃痕生成的方法包括:
5.根據(jù)權利要求2所述的受損二維碼的生成方法,其特征在于,磨損生成的方法包括:
6.根據(jù)權利要求1所述的受損二維碼的生成方法,其特征在于,將受損二維碼圖像與背景圖進行融合時,采用公式(4)進行:
7.根據(jù)權利要求1所述的受損二維碼的生成方法,其特征在于,將受損二維碼圖像與背景圖進行融合后,根據(jù)背景圖的光照條件對受損二維碼圖像的亮度進行動態(tài)調整,其調整公式(5)為:
8.根據(jù)權利要求1所述的受損二維碼的生成方法,其特征在于,對融合圖像進行模糊化處理,包括:
9.根據(jù)權利要求1所述的受損二維碼的生成方法,其特征在于,對融合圖像進行模糊化處理之前,還包括對融合圖像進行柱面變換: