PatchWork 算法_第1頁
PatchWork 算法_第2頁
PatchWork 算法_第3頁
PatchWork 算法_第4頁
PatchWork 算法_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、張道德 UCAS第1題 PatchWork 算法Bender等提出了著名的Patchwork算法,這是一種統(tǒng)計算法,即在一個載體圖像中嵌入具有特定統(tǒng)計特性的水印。1.1算法介紹假設(shè)算法針對256級線性量化系統(tǒng),其初始值為0,所有亮度等級均勻分布,且個個采樣點相互獨立。在圖像中隨機選出兩點A和B。設(shè)A的亮度為,B的亮度為,令。如果大量重復(fù)上述過程,則的期望應(yīng)為0。但是這并不代表在某一特定條件下究竟取值多少。這是因為在這種處理中,的方差是相當(dāng)高的。的方差則是反應(yīng)的樣本圍繞其期望值變化的緊密情況。因為是相互獨立的,可以用下式計算:sss=+ 對于均勻分布的有從而的標準差為。在高斯聚類情況下,一次單獨

2、的迭代意義不大。但是,如果我們執(zhí)行上述過程多次,則會出現(xiàn)不同的情形。如果將這個過程重復(fù)次,、和 是、和的第次迭代值,定義,則的期望值為0,標準差約為。對于一幅圖像,按照上面的方法計算,如果其偏差高于標準差,則可以在很大程度上確定這并非偶然。事實上,當(dāng)很大時,下面提到的將呈高斯分布,使得依據(jù)偏離值的少數(shù)幾倍數(shù)值即可以高置信度地指出圖像已經(jīng)人為的修改,也就是嵌入了水印。具體步驟如下: 一個密鑰利用和偽隨即數(shù)發(fā)生器來選擇數(shù)據(jù)對。該密鑰和隨機數(shù)發(fā)生器的模型僅為收發(fā)雙方擁有,解碼器需要按照和編碼器相同的順序和位置來選擇數(shù)據(jù)對; 將補丁處的亮度值提高,的一般取值為256的1%5%之間; 將補丁處的亮度值降

3、低同樣的值; 重復(fù)上述步驟次(的典型值為10000)。 相應(yīng)的解碼過程只需要兩步: (1)對編碼后的圖像,用同樣的密鑰和偽隨機數(shù)發(fā)生器來選擇數(shù)據(jù)對; (2)計算當(dāng)?shù)闹岛艽髸r,有。 =-+=-在不知道密鑰的情況下,隨機選取像素對,假設(shè)它們是獨立同分布的,就有。這就表明,只有水印嵌入者可以對水印進行正確檢測,攻擊者無法判定圖像中是否含有水印。1.2 編程實現(xiàn)與分析1.2.1 Patchwork算法的程序?qū)崿F(xiàn)與分析在實驗過程中,我們選取,則標準差。我們選取標準差的1.5倍作為閥值,即首先,我們在原始圖像 “elain.bmp” 中運用Patchwork算法嵌入水印,原始圖像與嵌入水印后的圖像如下圖:

4、圖1.1 原始圖像與嵌入水印后的圖像在肉眼的觀察下,嵌入水印后的圖像與原始圖像沒有什么區(qū)別。在已知密鑰的情況下,計算原始圖像的和水印圖像,判斷是否有水印。結(jié)論如下表:結(jié)論含有水印Sn1416Sn101266在不知密鑰的情況下,計算水印圖像,判斷是否有水印。結(jié)論如下表:結(jié)論不含有水印Sn-52171.2.2 程序代碼%*Patchwork水印算法在已知密鑰的情況下,計算原始圖像的和水印圖像的函數(shù) function Sn=KnownKey(ImgName,key1,key2)%在已知密鑰的情況下,計算原始圖像的Sn 和水印圖像的SnSn=0;ImgMatrix=double(imread(ImgN

5、ame); %讀入bmp位圖,存入矩陣ImgMatrix中rowNum,colNum=size(ImgMatrix); %rowNum 圖像矩陣的行數(shù);colNum 圖像矩陣的列數(shù)rng(key1) % 恢復(fù)生成器設(shè)置(密鑰)RandomNumber3=randi(0,rowNum*colNum-1,10000,1); %產(chǎn)生一系列0,rowNum*colNum-1之間的隨機數(shù)1;rng(key2) % 恢復(fù)生成器設(shè)置(密鑰)RandomNumber4=randi(0,rowNum*colNum-1,10000,1); %產(chǎn)生一系列0,rowNum*colNum-1之間的隨機數(shù)2;for i=

6、1:10000 Sn=Sn+ImgMatrix(floor(RandomNumber3(i)/512)+1,mod(RandomNumber3(i),512)+1). -ImgMatrix(floor(RandomNumber4(i)/512)+1,mod(RandomNumber4(i),512)+1);end%*在不知密鑰的情況下,計算水印圖像的函數(shù)function Sn=UnknownKey(ImgName)%在未知密鑰的情況下,計算水印圖像的SnSn=0;ImgMatrix=double(imread(ImgName); %讀入bmp位圖,存入矩陣ImgMatrix中rowNum,co

7、lNum=size(ImgMatrix); %rowNum 圖像矩陣的行數(shù);colNum 圖像矩陣的列數(shù)RandomNumber3=randi(0,rowNum*colNum-1,10000,1); %產(chǎn)生一系列0,rowNum*colNum-1之間的隨機數(shù)1;RandomNumber4=randi(0,rowNum*colNum-1,10000,1); %產(chǎn)生一系列0,rowNum*colNum-1之間的隨機數(shù)2;for i=1:10000 Sn=Sn+ImgMatrix(floor(RandomNumber3(i)/512)+1,mod(RandomNumber3(i),512)+1).

8、-ImgMatrix(floor(RandomNumber4(i)/512)+1,mod(RandomNumber4(i),512)+1);end%*Patchwork函數(shù) function BrightMatrix,key1,key2=patchwork(ImgName)%更改后的圖像矩陣%ChangedImg 更改后的圖像名稱%key1,key2系統(tǒng)分配給用戶的密鑰ImgMatrix=double(imread(ImgName); %讀入bmp位圖,存入矩陣ImgMatrix中BrightMatrix=ImgMatrix; rowNum,colNum=size(ImgMatrix); %r

9、owNum 圖像矩陣的行數(shù);colNum 圖像矩陣的列數(shù)key1=rng; %獲取當(dāng)前的生成器設(shè)置(密鑰)RandomNumber1=randi(0,rowNum*colNum-1,10000,1); %產(chǎn)生一系列0,rowNum*colNum-1之間的隨機數(shù)1;key2=rng; %獲取當(dāng)前的生成器設(shè)置(密鑰) RandomNumber2=randi(0,rowNum*colNum-1,10000,1); %產(chǎn)生一系列0,rowNum*colNum-1之間的隨機數(shù)2;degree=5; %亮度值增加值為256的1%5%,我們?nèi)? %*%圖像水印嵌入for i=1:10000BrightMa

10、trix(floor(RandomNumber1(i)/colNum)+1,mod(RandomNumber1(i),colNum)+1)=. BrightMatrix(floor(RandomNumber1(i)/colNum)+1,mod(RandomNumber1(i),colNum)+1)+degree;BrightMatrix(floor(RandomNumber2(i)/colNum)+1,mod(RandomNumber2(i),colNum)+1)=. BrightMatrix(floor(RandomNumber2(i)/colNum)+1,mod(RandomNumber2

11、(i),colNum)+1)-degree;end%*主程序clcclearDeviation=104*100; %標準差 threshold=1.5*Deviation; %圖像閥值,設(shè)置為標準差的1.5倍BrightMatrix,key1,key2=patchwork(elain1.bmp);imwrite(uint8(BrightMatrix),elain2.bmp,bmp);subplot(121),imshow(elain1.bmp),title(原始圖像); subplot(122),imshow(elain2.bmp),title(嵌入patchwork水印的效果); %*%在已知密鑰的情況下,計算原始圖像Sn和 水印圖像SnSn0=KnownKey(elain1.bmp,key1,key2);Sn1=KnownKey(elain2.bmp,key1,key2);disp(已知密鑰的情況下); disp(原始圖像Sn0); Sn0if abs(Sn1)threshold disp(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論