[發明專利]基于混沌系統的隨機位盲水印實現方法在審
| 申請號: | 201611214176.2 | 申請日: | 2016-12-26 |
| 公開(公告)號: | CN108242040A | 公開(公告)日: | 2018-07-03 |
| 發明(設計)人: | 不公告發明人 | 申請(專利權)人: | 天津職業技術師范大學 |
| 主分類號: | G06T1/00 | 分類號: | G06T1/00 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 300222 天*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 載體圖像 比特位 混沌系統 嵌入水印 水印信息 像素 二進制 嵌入位置 盲水印 嵌入 版權認證 二進制位 數字水印 隨機選取 圖像處理 信息安全 信息隱藏 計算機應用 固定的 隨機地 隱蔽性 出水 應用 | ||
1.一種基于混沌系統的隨機位盲水印實現方法,其特征是:通過混沌系統控制水印信息在載體圖像內的嵌入位置。隨機位數字水印將水印信息隨機地嵌入到載體圖像中各個像素的二進制值的不同比特位上,從而使得水印信息具有更好的隱蔽性。在嵌入水印信息時,在載體圖像中每個像素的二進制位上嵌入水印信息的位置都是隨機的、不固定的。嵌入時,針對載體圖像的每一個像素,都在其二進制值的第0個到第7個比特位上隨機選取一位,在選取的比特位上嵌入水印信息。提取時,在與嵌入位置相同的比特位上提取出水印信息。具體為:
1嵌入過程
嵌入過程完成將水印隨機嵌入到載體圖像中每個像素的不同二進制位上,其主要步驟為:
(1)載體圖像預處理
載體圖像預處理主要包括:讀取載體圖像,獲取其大小,將其進行通道分解。
例如,讀取原始載體圖像O,獲取圖像O的長度M和寬度N,對圖像的通道進行分解,得到其R通道rgb[0],G通道rgb[1],B通道rgb[2]。
原始載體圖像O的R通道rgb[0]為:
209 197 163 193 125 247 160 112 161 137 243 203 39 82 154 127
其對應的二進制值BR為:
11010001 11000101 10100011 11000001 01111101 11110111 10100000 01110000 10100001 10001001 11110011 11001011 00100111 01010010 10011010 01111111
(2)水印處理
讀取水印圖像,對讀取的二值水印圖像進行閾值處理,將其轉換為二進制值水印圖像,即將其中的值255轉換為1,以方便嵌入到載體圖像內。
例如,有二值水印圖像WO為:
255 255 255 255 255 255 255 255 255 0 255 0 0 0 255 255
該二值水印圖像對應的二進制水印圖像W為:
1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1
(3)確定嵌入位置
根據混沌系統的初始值生成嵌入位置矩陣,由嵌入位置矩陣來確定將水印信息嵌入到二進制像素值中的具體比特位。
例如,確定密鑰為0.98,則混沌系統采用的初始值為0.98,按照8.2.3中所介紹根據混沌系統生成位置矩陣的方法,生成決定嵌入位置信息的位置矩陣CS為:
0 0 7 5 0 1 0 1 4 7 4 1 5 2 6 4
位置矩陣CS決定了水印信息在圖像R通道BR內每個像素上的具體嵌入比特位位置。根據位置矩陣CS,將BR中需要嵌入水印的比特位標注下劃線,具體為:
(4)嵌入水印信息
只需要用水印信息替換掉載體圖像內原有信息即可。在具體的實現上,將水印信息W與原始載體二值圖像BR中指定位置的二進制位信息(比特位上的值)進行比較:
●如果二者一致
則不需要任何操作即將水印嵌入到了載體圖像內;
●如果二者不一致
則將BR中指定位置的值(比特位上的值)進行取反操作,即在0和1之間進行互換。例如:
原來該比特位的值為1,則換為0;
原來該比特位的值為0,則換為1。
假設需要嵌入水印的位置在載體圖像二進制像素值的第n位(這里二進制位從0開始),則:
當該位的值為1時,則將該像素值減去2^n,即實現了將該位的1替換為0。
當該位的值為0時,則將該像素值加上2^n,即實現了將該位的0置換為1;
對上述情況進行區別,以具體的數字進行演示,如表9所示。(注意:位數序號從0開始。)
表9 嵌入示例
根據上述歸納的結果,針對三種類型分別進行操作說明,具體為:
步驟1:處理規則A
在原始載體圖像R通道BR中和水印W中,對應位置(像素所在的行和列坐標一致)上,原始載體圖像R通道BR中由位置矩陣所指定的比特位上的位值和水印W的值相同,符合該規則的BR和W如表10和表11中深色背景部分表格所示,表10中這部分的元素不需要任何改變即完成了水印的嵌入。
表10 原始載體BR
1]]> 1]]> 10100011]]> 000001]]> 1]]> 11]]> 0]]> 00]]> 00001]]> 10001001]]> 10011]]> 11]]> 100111]]> 010]]> 0011010]]> 11111]]>
表11 水印W
1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1
可以直接將上述原始載體圖像R通道BR中的元素復制到含水印圖像WB中,此時WB中的值為:
1]]> 1]]> 10100011]]> 01111101 11]]> 10011]]> 010]]> 111111]]>
步驟2:處理規則B
在原始載體圖像R通道BR中和水印W中,在對應位置上,原始載體圖像R通道BR中由位置矩陣CS所指定的要嵌入水印信息的比特位的位值為1、水印W的值為0,這種情況符合規則B。該情況的原始載體圖像R通道BR和水印W如表12和表13中稍深色的背景部分所示。
表12 原始載體圖像R通道BR
表13 水印W
針對規則B,需要將原始載體圖像R通道BR對應位置上的像素值減去2^n,這里n是其要嵌入水印的比特位的位置,n的值由位置矩陣CS所決定。位置矩陣CS中對應位置的值如表14中深色背景所示。
表14 嵌入位置矩陣CS
因此,根據上述CS可以得到:
●表12中原始載體圖像R通道BR第3行第2列(這里行和列的序號從1開始)的值“10001001”需要嵌入水印的比特位位置可以通過嵌入位置矩陣CS的得到,位置矩陣CS中對應位置的值為7,因此需要將該值減去“2^7”,得到“
●表12中原始載體圖像R通道BR第3行第4列的值“110010
●表12中原始載體圖像R通道BR第4行第1列的值“00
上述過程完成后,將得到的值復制到含水印圖像WB中,此時WB中的值為:
步驟3:處理規則C
在原始載體圖像的R通道BR中和水印W中,在對應位置上,圖像BR中由位置矩陣CS所指定的要嵌入水印的比特位上的值為0、水印W的值為1,這種情況符合處理規則C。這部分如表15和表16中白色背景部分所示。
表15 原始載體圖像的R通道BR
表16 水印W
針對規則C,需要將原始載體圖像的R通道BR內對應位置上的像素值加上2^n,這里n是要嵌入水印的比特位位置,n的值由位置矩陣CS所決定。位置矩陣CS對應位置的值如表17中白色背景所示。
表17 嵌入位置矩陣CS
因此,根據上述矩陣CS,完成操作為:
●表15所示的原始載體圖像的R通道BR中第1行第4列的值為“11
●表15所示的原始載體圖像的R通道BR中第2行第3列的值為“1010000
●表15所示的原始載體圖像的R通道BR中第2行第4列的值為“011100
●表15所示的原始載體圖像的R通道BR中第3行第1列的值為“101
●表15所示的原始載體圖像的R通道BR中第4行第3列的值為“1
上述過程完成后,將得到的值復制到含水印圖像WB中,此時WB中的值為:
將得到的含水印圖像WB作為含水印載體圖像Result的R通道,將其與原始載體圖像的G通道、B通道使用merge函數組合得到含水印彩色圖像Result。
(5)顯示圖像
對要顯示的原始載體圖像、含水印圖像進行通道順序的轉換,以便于顯示。分別顯示原始載體圖像、水印圖像、含水印圖像,保存含水印圖像。
2提取過程
提取過程完成將水印信息從含水印載體圖像內提取出來,具體過程如下:
(1)含水印載體圖像處理
讀取包含水印的載體圖像、獲取其大小、分解通道。
例如,讀取包含水印的載體圖像WO,獲取圖像WO的長度M和寬度N,分解圖像WO的RGB通道,分別記為bgr[0]、bgr[1]、bgr[2]。
(2)生成提取位置矩陣
根據混沌系統的初始值生成提取位置矩陣,用來確定提取水印信息時在二進制像素值中的具體位置。
例如:設置混沌系統的初始值為0.98,按照8.2.3所介紹的方法生成提取位置矩陣CS為:
0 0 7 5 0 1 0 1 4 7 4 1 5 2 6 4
(3)提取水印信息
從含水印的載體圖像內提取出水印信息,水印信息在每個像素中的具體位置由位置矩陣指定。對提取到的二進制水印信息進行閾值調整,得到二值水印圖像以便顯示。
例如,含水印圖像中像素的值為218,其對應的位置矩陣CS中的對應位上值為3,則需要從該像素的二進制位的第3位(注意:序號從0開始,即最低有效位是第0位)提取出水印信息。具體如表18所示。
表18 提取水印示例
含水印像素值 二進制值 對應位置的CS值 提取的水印值 216 1000]]> 3 1
在程序具體實現時,通過將含水印像素的二進制右移提取位置信息矩陣CS值指定的位數來獲取左邊的若干位信息Nleft,使得水印信息處于最低有效位。該值的最低有效位即為要提取的水印信息,可以通過將數值Nleft對2取模而得到。例如,像素值216,其二進制位值為“1101
計算表達式為:
(11011000>>3)%2
假設,從讀入的WO中提取的R通道rgb[0]為:
11010001 11000101 10100011 11100001 01111101 11110111 10100001 01110010 10100001 00001001 11110011 11001001 00000111 01010010 11011010 01111111
根據上述步驟,已知矩陣CS為:
0 0 7 5 0 1 0 1 4 7 4 1 5 2 6 4
則根據上述提取規則提取水印信息,需要進行的運算為:
(11010001>>0)%2 (11000101>>%2 (10100011>>7%2 (11100001>>5)%2 (01111101>>0)%2 (11110111>>1)%2 (10100001>>0)%2 (10100001>>0)%2 (10100001>>4)%2 (10100001>>7)%2 (10100001>>4)%2 (10100001>>1)%2 (00000111>>5)%2 (01010010>>2)%2 (11011010>>6)%2 (01111111>>4)%2
由上式,提取的二進制值水印信息WE為:
1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1
對二進制水印圖像WE進行閾值調整,將WE中值為1的像素值調整為255。則得到二值水印圖像WG,為:
255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255
通過將含水印載體圖像與一個內部值全部為2^n的Mat型矩陣進行按位與操作,也可以將n所指定的位置上的水印提取出來。需要注意,計算所使用的n的值通過位置矩陣CS得到,針對不同的像素,n的值是不固定的。
上述過程提取到水印后,將水印信息進行閾值調整,將其中不為0的元素調整為255,即得到只包含像素值0和255的二值水印圖像。
(4)顯示圖像
對含水印的載體圖像WO使用cvtColor函數進行通道順序調整以便于顯示。顯示水印圖像WG、含水印圖像WO,保存水印圖像WG。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津職業技術師范大學,未經天津職業技術師范大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611214176.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種乘客信息校對系統
- 下一篇:一種基于混沌的隨機位非盲水印實現方法





