本發明屬于圖像處理和水印,尤其涉及一種基于二維碼檢測與矯正的魯棒水印系統。
背景技術:
1、目前,保護產權的方法主要依賴于法律手段和物理封鎖,這些方法在實際應用中存在一些局限性。法律手段可能受限于司法效力和執法成本,而物理封鎖容易受到人為破壞和成本上升的困擾。在一些需要嚴格控制產品流通范圍的場景,如特定區域銷售的產品,傳統的保護產權方法無法提供足夠的安全性。
2、隨著數字技術的飛速發展,二維碼在商業、物流、文化等領域得到了廣泛應用。傳統的二維碼通常僅用于簡單的信息存儲和識別,如果將產權信息隱藏在其中,同時不影響二維碼正常的識別與提取,可以不引起懷疑,就可以達到保護產權的目的。但傳統的數字水印技術在應對二維碼信息隱藏方面也存在一定的局限性,因為它們可能影響到二維碼的正常識別和提取。
技術實現思路
1、本發明所要解決的技術問題是針對背景技術的不足提供一種基于二維碼檢測與矯正的魯棒水印系統,在不影響正常二維碼提取的前提下,將關鍵信息水印隱藏在二維碼中,確保即使在水印嵌入的位置發生變化的情況下,二維碼仍能正常被掃描和解碼。
2、本發明為解決上述技術問題采用以下技術方案:
3、一種基于二維碼檢測與矯正的魯棒水印系統,其特征在于:包含des加密模塊,水印分塊嵌入模塊,二維碼識別模塊,圖像矯正模塊和信息提取模塊;
4、其中,des加密模塊,用于對水印信息進行加密;
5、水印分塊嵌入模塊,用于將加密后的水印信息嵌入到二維碼中;
6、二維碼識別模塊,采用檢測器對二維碼進行識別;
7、圖像矯正模塊,對檢測到的二維碼進行透視變換、邊緣裁剪和圖像二值化;
8、信息提取模塊,通過提取水印位置、提取水印信息、水印信息重建和水印信息分析,實現對水印信息的準確提取和分析。
9、作為本發明一種基于二維碼檢測與矯正的魯棒水印系統的進一步優選方案,所述des加密模塊的加密過程,具體包括如下步驟:
10、步驟a1,準備明文,將要加密的水印信息轉換為64位的二進制數據塊;
11、步驟a2,選擇密鑰,選擇一個56位的密鑰;初始處理,將64位的明文數據塊按照des的初始置換表進行初始置換;
12、步驟a3,密鑰生成,使用56位的密鑰生成16個48位的子密鑰;
13、步驟a4,加密輪次,包括將64位的數據塊分成左右兩部分、對右半部分進行擴展、與子密鑰進行異或步驟;
14、步驟a5,逆初始置換,將經過16輪加密后的數據進行逆初始置換,得到加密后的密文。
15、作為本發明一種基于二維碼檢測與矯正的魯棒水印系統的進一步優選方案,所述水印分塊嵌入模塊的嵌入過程,具體包括如下步驟:
16、步驟b1,二維碼準備,調整圖像大小,將待嵌入的二維碼調整為特定尺寸,分割成41x41個小塊;
17、步驟b2,位置信息生成,隨機生成64個位置,代表二維碼中64個小塊的位置,確保不包括二維碼的定位塊;
18、步驟b3,水印信息嵌入,根據秘密信息中的每一位,在生成的位置信息中選擇對應位置進行水印信息的嵌入;
19、步驟b4,水印位置決定,選擇64個位置進行水印信息的嵌入,確保水印嵌入分布在整個二維碼中;
20、步驟b5,冗余信息維護,通過在嵌入水印信息的過程中保留一些位置,形成冗余信息的存儲區域,用于確保水印信息的魯棒性。
21、作為本發明一種基于二維碼檢測與矯正的魯棒水印系統的進一步優選方案,所述二維碼識別模塊進行二維碼檢測,包括加載相應的配置文件和模型文件,進行圖像預處理,檢測并解碼二維碼,得到二維碼的位置信息。
22、作為本發明一種基于二維碼檢測與矯正的魯棒水印系統的進一步優選方案,所述圖像矯正模塊的矯正過程,具體包括如下步驟:
23、步驟c1,透視變換,對檢測到的二維碼區域進行透視變換,獲得規定大小的圖像;
24、步驟c2,邊緣裁剪,裁剪圖像邊緣,去除亮度低于閾值的邊緣部分;
25、步驟c3,圖像二值化,對裁剪后的圖像進行修復,將亮度低于閾值的塊置為黑色,亮度高于閾值的塊置為白色,確保二維碼的黑白塊正確表達。
26、作為本發明一種基于二維碼檢測與矯正的魯棒水印系統的進一步優選方案,所述信息提取模塊的提取和分析過程,具體包括如下步驟:
27、步驟d1,水印位置提取,通過裁剪、矯正后的二維碼圖像提取水印的位置信息;
28、步驟d2,水印信息提取,針對每個提取到的水印位置,分析相應的小塊圖像,提取其中的水印信息;
29、步驟d3,水印信息重建,將提取到的水印信息按順序重建為完整的二進制序列;
30、步驟d4,水印信息分析,對提取到的水印信息進行進一步分析,包括檢查水印。
31、作為本發明一種基于二維碼檢測與矯正的魯棒水印系統的進一步優選方案,所述圖像矯正模塊包含透視變換模塊、邊緣裁剪模塊和圖像二值化模塊;
32、其中,透視變換模塊,用于對每個檢測到的二維碼的角點進行透視變換,以獲得規定大小的圖像;在透視變換中,通過計算透視變換矩陣m,將檢測到的二維碼區域映射到一個固定大小的目標區域;
33、邊緣裁剪模塊,用于對透視變換后的圖像進行邊緣檢查,裁剪圖像邊緣,去除亮度低于閾值的邊緣部分;
34、圖像二值化模塊,用于對裁剪后的圖像進行進一步處理,對其進行修復,使亮度低于閾值的塊置為黑色,亮度高于閾值的塊置為白色,以確保二維碼的黑白塊正確表達。
35、作為本發明一種基于二維碼檢測與矯正的魯棒水印系統的進一步優選方案,在步驟a4中,加密輪次具體如下:des算法共有16個加密輪次,每輪包括以下步驟:將64位的數據塊分成左右兩部分,分別稱為左半部分l和右半部分r;對右半部分r進行擴展,將其擴展為48位;將擴展后的r與當前輪的子密鑰進行異或操作;將異或的結果分組送入s盒進行替代,將48位的數據轉換為32位;將s盒替代后的結果進行p盒置換;將p盒置換后的結果與左半部分l進行異或,得到新的右半部分r;將原始的右半部分r變為新的左半部分l,重復下一輪。
36、本發明采用以上技術方案與現有技術相比,具有以下技術效果:
37、1、本發明一種基于二維碼檢測與矯正的魯棒水印系統,實現了對信息的安全嵌入和可靠提取;嵌入水印時,首先使用des加密模塊對水印信息進行加密,防止被盜取或修改信息,再使用水印分塊嵌入模塊將加密后的水印嵌入到二維碼中。提取水印時,首先將含有二維碼的圖片通過二維碼識別模塊提取出二維碼信息,在使用圖像矯正模塊將扭曲的二維碼圖像經過透視矯正、邊緣處理等得到完整的二維碼圖像,最后經過信息提取模塊獲取水印信息;
38、2、本發明在不影響正常二維碼提取的前提下,將關鍵信息水印隱藏在二維碼中,確保即使在水印嵌入的位置發生變化的情況下,二維碼仍能正常被掃描和解碼。