摘 要:一些如個人檔案、醫(yī)療記錄、手寫簽名、館藏圖書等重要二值文檔資料被掃描后以二值圖像的方式存儲。針對這些二值圖像的保護問題,提出了一種基于像素連接數(shù)的文檔水印算法。通過計算像素的連接數(shù)判斷可翻轉(zhuǎn)像素,將加密后水印信息代替可翻轉(zhuǎn)像素實現(xiàn)水印嵌入。實驗結(jié)果表明,本算法不可見性好,水印嵌入量大,水印提取不需要原始水印。但該算法水印提取需要水印嵌入時位置信息。
關(guān)鍵詞:文檔水印;像素連接數(shù);不可見性
中圖分類號:TP391.9 文獻標(biāo)識碼:A 文章編號:1674-7712 (2012) 12-0050-02
一、前言
隨著全球信息數(shù)字化進程的日益加快,大量的重要資料,如個人檔案、醫(yī)療記錄、證件、手寫簽名等以二值圖像格式存儲,計算機技術(shù)的發(fā)展使得這些圖像的復(fù)制、拷貝變得非常容易,進而使得侵犯這些資料的版權(quán)的事情經(jīng)常發(fā)生。文檔水印技術(shù)作為對文檔圖像進行版權(quán)保護的方法之一受到廣泛關(guān)注。
由于二值文檔圖像冗余數(shù)據(jù)少,任何像素的改變(黑變白或白變黑)很可能對圖像造成較大的破壞,因此有關(guān)文檔水印算法發(fā)展比較慢。目前在二值圖像中嵌入水印的主要思路:在一組像素點間,通過改變引起視覺失真較小的像素值,使得這組像素滿足一定的規(guī)律。文獻[1]根據(jù)計算像素連通性與平滑性,通過翻轉(zhuǎn)圖像塊中優(yōu)先級別高的像素點進行水印嵌入。但是此方法過程比較繁瑣,計算量大。文獻[2]利用圖像塊連通性不變確定可翻轉(zhuǎn)像素,利用hash函數(shù)對除去可翻轉(zhuǎn)像素的圖像進行一系列加密處理后進行水印嵌入,該方法用于圖像完整性認證。本文在此基礎(chǔ)上提出了一種基于像素連接數(shù)文檔圖像水印算法,將水印信息嵌入像素連接數(shù)為1的像素點處,該算法簡單,不受分塊大小的限制、不用每個分塊都保證有可改變的象素,適用于所有的二值圖像。
二、像素可翻轉(zhuǎn)性
對于二值圖像來講,水印的嵌入過程實際是像素值由0變?yōu)?或1變?yōu)?的翻轉(zhuǎn)過程。由于任意翻轉(zhuǎn)二值圖像中一個像素都有可能造成嚴(yán)重的失真,因此需要尋找合適的像素來嵌入水印。根據(jù)人眼的視覺特性,合適的可翻轉(zhuǎn)像素應(yīng)盡量選自黑白邊界點或黑白像素分布均勻的區(qū)域并且可翻轉(zhuǎn)像素間的距離不要過近。為了客觀地判斷某個像素是否適合翻轉(zhuǎn),可根據(jù)該像素的鄰域點來確定水印嵌入點。
在二值圖像中,任意像素p(i,j)上、下、左、右4個像素稱為該像素p(i,j)的4—鄰域,互為4—鄰域的兩像素叫4—鄰接(或4—連通);相應(yīng)的,像素p(i,j)上、下、左、右4個像素和4個對角線像素,稱為像素p(i,j)的8—鄰域,互為8—鄰域的兩像素叫8—鄰接(或8—連通)。具有兩個相同數(shù)值的像素a1和a2,若所有與它們具有相同值的像素能夠在4-/8-鄰域內(nèi)構(gòu)成一個從a1到a2的鄰接的像素序列,則把像素a1和a2叫做4-/8-連接。把互相連接的像素的集合匯集為一組,這些組叫連接成分或連通成分。
像素連接數(shù):通過考察以該像素為中心的3 3鄰域來判斷。像素p(i,j)的值用B(p)表示,當(dāng)B(p)=1時,像素p的連接數(shù)Nc(p)為與p連接的連接成分?jǐn)?shù)。像素p的連接數(shù)以這個像素的8-鄰域值按下式進行計算:
(1)
通過對像素8—鄰域一切可能存在的值進行計算,其連接數(shù)總是取0—4之間的值。
根據(jù)連接數(shù)將像素分類:
=0,孤立點或內(nèi)部點; =1,可刪除點或端點; =2,連接點; =3,分支點; =4,交叉點。
像素的可翻轉(zhuǎn)性:
當(dāng)一個像素值由1變成0的時候,整個圖像連接成分的連接性不改變(各連接成分不分離,不結(jié)合,孔不消除也不生成),則這個像素被稱為是可刪除的。像素的可刪除性可以用像素的連接數(shù)來檢測。理論證明像素的可刪除性和像素連接數(shù)為1是一致的[3]。因此利用可刪除性作為像素可翻轉(zhuǎn)性的判斷條件:當(dāng)某像素為可刪除性像素時,該像素具有可翻轉(zhuǎn)性,其可作為水印的可嵌入像素。
三、水印的嵌入和提取
嵌入算法如下:
(1)將文檔圖像分為3 3的相鄰塊。相鄰塊是指幾何位置上相鄰的圖像塊在水平或者豎直方向上僅有共用的一行或一列,沒有共用行或列的圖像塊為不相鄰塊。
(2)按照公式(1)計算該圖像塊中心像素的連接數(shù)。由于像素連接數(shù)的判斷是利用像素的8-鄰域,所以對于文檔圖像的第一行第一列和最后一行最后一列不進行處理。
(3)根據(jù)連接數(shù)判斷像素可翻轉(zhuǎn)性,確定可翻轉(zhuǎn)像素。
(4)將水印信息嵌入圖像的可翻轉(zhuǎn)像圖4為嵌入3364bit水印后文檔圖像。從圖4中可以看出,嵌入水印后圖像的變化很小,人眼基本感覺不到圖像的變化,說明算法具有很好的不可見性。圖5為從未篡改含水印圖像中提取水印圖像,可以看出當(dāng)含水印圖像未改動時提取水印圖像與原水印圖像一樣。素處,記錄可嵌入像素位置。為了提高算法的安全性,將水印信息進行加密處理。將加密處理后的水印替代可翻轉(zhuǎn)像素實現(xiàn)水印嵌入。
水印提取時將待測文檔圖像分為3 3的相鄰塊,根據(jù)水印嵌入時記錄可嵌入像素位置提取該位置處的像素;將提取水印信息反處理得到提取水印。
四、實驗結(jié)果及分析
本實驗環(huán)境選取Windows XP操作系統(tǒng),用matlab軟件對本算法進行測試實驗。實驗中采用文檔圖像大小為256 256(圖2),大小為40 40(圖3)圖像作為水印進行嵌入。
在實際應(yīng)用中,大量的重要資料,如專利證件、設(shè)計圖樣、合同、電子信函、公文或傳真等的完整性和真實性是對這些數(shù)字文檔的最基本的要求。本文提出基于像素連接數(shù)的文檔水印算法,該算法簡單有效,含水印量大,可用來對傳真、印章、文本、圖表等等二值圖像,進行保護。但該算法不能抵抗對圖像的細化處理等操作,并且水印提取需要水印嵌入時位置信息。
參考文獻:
[1]Min Wu,Tang E,Liu B. Data Hiding in Digital Binary Images[C].In:Proc.IEEE Int.Conf.on Multimedia and Expositions,New York,2000,1:393-396
[2]Huijuan Yang,Alex C.Kot,data hiding for text document image authentication by connectivity-preserving[C],IEEE International Conference on Speech,Acoustics,and Signal Processing,2005:505-508
[3]阮秋琦.數(shù)字圖像處理[M].北京:電子工業(yè)出版社,2007,6
[基金項目]陜西省教育廳專項基金資助項目(09JK808); 咸陽師范學(xué)院專項科研基金項目(07XSYK286)
[作者簡介]郗艷華(1974-),女,陜西蒲城人,咸陽師范學(xué)院物理與電子工程學(xué)院講師,主要研究領(lǐng)域為數(shù)字圖像處理、數(shù)字水印等。