[優(yōu)秀畢業(yè)論文]基于變換域的數(shù)字水印技術(shù)的研究

上傳人:仙*** 文檔編號(hào):28211495 上傳時(shí)間:2021-08-24 格式:DOC 頁(yè)數(shù):30 大?。?01.89KB
收藏 版權(quán)申訴 舉報(bào) 下載
[優(yōu)秀畢業(yè)論文]基于變換域的數(shù)字水印技術(shù)的研究_第1頁(yè)
第1頁(yè) / 共30頁(yè)
[優(yōu)秀畢業(yè)論文]基于變換域的數(shù)字水印技術(shù)的研究_第2頁(yè)
第2頁(yè) / 共30頁(yè)
[優(yōu)秀畢業(yè)論文]基于變換域的數(shù)字水印技術(shù)的研究_第3頁(yè)
第3頁(yè) / 共30頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《[優(yōu)秀畢業(yè)論文]基于變換域的數(shù)字水印技術(shù)的研究》由會(huì)員分享,可在線閱讀,更多相關(guān)《[優(yōu)秀畢業(yè)論文]基于變換域的數(shù)字水印技術(shù)的研究(30頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、學(xué)士畢業(yè)論文 基于變換域的數(shù)字水印技術(shù)的研究 1. 引言 1.1 數(shù)字水印技術(shù)提出的背景 二十一世紀(jì)是數(shù)字時(shí)代,通信技術(shù)的迅速發(fā)展和計(jì)算機(jī)網(wǎng)絡(luò)的普遍運(yùn)用,使人們可以通過(guò)互聯(lián)網(wǎng)收發(fā)信息,可以隨時(shí)上傳自己創(chuàng)作的數(shù)字圖象、音樂(lè)、視頻等作品,可以進(jìn)行學(xué)術(shù)交流。 然而,也正是由于網(wǎng)絡(luò)的這種便捷性、傳播迅速的優(yōu)點(diǎn)使其很容易被非法拷貝,導(dǎo)致數(shù)字產(chǎn)品的版權(quán)、完整性、有效性得不到保證,嚴(yán)重?fù)p害了創(chuàng)作者的利益。而一些具有特殊意義的數(shù)字信息,如涉及司法訴訟、政府機(jī)要等信息,更是遭到了不法分子地惡意攻擊和隨意篡改等,這一系列問(wèn)題給當(dāng)今科學(xué)家?guī)?lái)了巨大挑戰(zhàn)

2、。 基于以上類似問(wèn)題,數(shù)字水印技術(shù)可以說(shuō)是信息時(shí)代的特有產(chǎn)物,是一種可以在開(kāi)放網(wǎng)絡(luò)環(huán)境下保護(hù)版權(quán)和認(rèn)證來(lái)源及保障信息完整性的新型技術(shù),在音頻、圖像、視頻制品中迅速得到廣泛的研究和發(fā)展。 1.2 數(shù)字水印的基本特點(diǎn) 數(shù)字水印是加在數(shù)字圖象、音頻或視頻中的微弱信號(hào),這個(gè)信號(hào)是人們能夠建立產(chǎn)品所有權(quán)、辨認(rèn)購(gòu)買者或提供數(shù)字產(chǎn)品的一些額外信息。具體說(shuō)來(lái),它們都具有以下共同的特征: 1. 不可感知性 對(duì)于數(shù)字水印的嵌入,應(yīng)該對(duì)觀察者沒(méi)有視覺(jué)障礙,理想情況應(yīng)該是水印圖像與原始圖像沒(méi)有絲毫差別。 2. 魯棒性 魯棒性是指一個(gè)數(shù)字水印能夠承受攻擊的能力,一般來(lái)說(shuō)數(shù)字水印方法是針對(duì)特定的攻擊進(jìn)行設(shè)計(jì)

3、。 3. 安全性 水印技術(shù)的安全性是其最重要的特性,由于它的商業(yè)性,其算法必須公開(kāi),算法的安全性完全取決于密鑰,而不對(duì)算法進(jìn)行保密。 4. 計(jì)算復(fù)雜度 不同應(yīng)用中,對(duì)于水印的嵌入算法和提取算法的計(jì)算復(fù)雜度要求是不同的,復(fù)雜度直接與水印系統(tǒng)的實(shí)時(shí)性相關(guān)。 5. 水印容量 水印容量是指載體數(shù)據(jù)字中可嵌入水印信息位的多少,可以從幾兆到幾個(gè)比特不等。 1.3 數(shù)字水印的應(yīng)用 數(shù)字水印是以不可感知的方式嵌入到數(shù)字信息中的,總體來(lái)說(shuō)它有以下應(yīng)用: 數(shù)字產(chǎn)品產(chǎn)權(quán)保護(hù) 這是數(shù)字水印最廣泛的應(yīng)用,將秘密的數(shù)字信號(hào)嵌入到有價(jià)值的數(shù)字文件中,這些數(shù)字信號(hào)是產(chǎn)權(quán)的標(biāo)識(shí),在不破壞數(shù)字文件的情況下不能

4、被盜版者出去,起到了保護(hù)產(chǎn)權(quán)的作用。 1. 數(shù)據(jù)庫(kù)標(biāo)識(shí) 有時(shí)一些文件中提示數(shù)據(jù)的標(biāo)識(shí)信息往往比文件本身更重要或者一些音像文件需要將說(shuō)明注釋(如字幕等)與音像本身結(jié)合起來(lái),這就可以通過(guò)數(shù)字水印技術(shù)加以解決。 2. 文件內(nèi)容鑒定 水印技術(shù)在鑒定數(shù)據(jù)建立者和鑒別數(shù)據(jù)內(nèi)容有著特殊的運(yùn)用,目的是檢測(cè)數(shù)據(jù)是否被修改過(guò)或是否經(jīng)過(guò)特殊的處理。 3. 系統(tǒng)升級(jí) 日常生活中常常涉及到舊裝系統(tǒng)升級(jí)情況,這可以通過(guò)將“增強(qiáng)層”嵌入到所發(fā)送的數(shù)據(jù)中來(lái)給傳統(tǒng)的信號(hào)發(fā)射系統(tǒng)升級(jí)。 4. 商務(wù)交易中的票據(jù)防偽 隨著高質(zhì)量圖像輸入輸出設(shè)備的發(fā)展,使得貨幣、支票以及其他票據(jù)的偽造變得更加容易。目前,美國(guó)、日本以及

5、荷蘭都已開(kāi)始研究用于票據(jù)防偽的數(shù)字水印技術(shù)。 5. 媒體偵破 這一運(yùn)用的目的是提取對(duì)原始信號(hào)進(jìn)行處理過(guò)的信息。例如,鑒定方法可以發(fā)現(xiàn)一幅圖像被篡改過(guò),但無(wú)法發(fā)現(xiàn)是怎樣篡改的。媒體偵破技術(shù)就可以指出圖像的哪部分被篡改了,指出被插入到原圖像中的新對(duì)象等等。 1.4 數(shù)字水印技術(shù)的研究動(dòng)態(tài) 隨著多媒體技術(shù)和因特網(wǎng)技術(shù)的迅猛發(fā)展,一系列有關(guān)產(chǎn)權(quán)保護(hù)和信息安全的問(wèn)題等亟待人們解決。數(shù)字水印技術(shù)便是二十世紀(jì)九十年代初出現(xiàn)的為解決這些問(wèn)題的一門嶄新的技術(shù),也是近幾十年來(lái)國(guó)內(nèi)外專家和學(xué)者研究的一大熱點(diǎn)。 1. 數(shù)字水印技術(shù)的研究現(xiàn)狀 1) 空間域數(shù)字水印研究 最初提出的數(shù)字水印嵌入方法是在空間域

6、上實(shí)現(xiàn)的。 1995年,Btuyndoncky等提出了一個(gè)基于空域分塊的方法,通過(guò)改變均值來(lái)嵌入水印。1996年,Patchwork等人提出了一種算法(Patchwork算法),該算法隨機(jī)選取圖像的N對(duì)像素點(diǎn),通過(guò)增加其中一個(gè)點(diǎn)的亮度值而相應(yīng)降低另一個(gè)點(diǎn)的亮度來(lái)隱藏信息。1998年,Darmstaedter等人提出了一種新的空域水印算法,該算法是基于圖像的88塊的空間域分解進(jìn)行的。 不過(guò)上述的一些空域法普遍存在著可嵌入水印能量不好控制、魯棒性差等缺點(diǎn),現(xiàn)在已經(jīng)很少有人使用,人們逐漸將水印的嵌入和檢測(cè)轉(zhuǎn)到頻域上進(jìn)行。 2) 頻域數(shù)字水印研究 頻域法大體有三類:DFT域、DCT域和DWT

7、域。 Ruanaidh和Pun利用傅立葉域?qū)θ中缘男D(zhuǎn),平移和縮放變換具有不變性的特點(diǎn),將水印嵌入到傅立葉域來(lái)達(dá)到對(duì)這些攻擊的魯棒性。 1999年,Hsu和Wu等人提出了基于可視化模型的算法,該算法具有很強(qiáng)的魯棒性。2000年,黃繼武、易開(kāi)樣等人還提出了一種DCT域數(shù)字水印算法:首先把圖像分成88的不重疊像素塊,經(jīng)過(guò)分塊DCT變換后,得到有DCT系數(shù)組成的頻率塊,然后隨機(jī)選取一些頻率塊,水印信號(hào)嵌入到由密鑰控制選擇的一些DCT系數(shù)中。2004年,王向陽(yáng)等提出了一種DCT域自適應(yīng)彩色圖像二維數(shù)字水印算法,將灰度圖像嵌入到原始彩色圖像中。其實(shí) ,很多國(guó)內(nèi)外研究人員提出的其他DCT域數(shù)字水印算

8、法,采用的多是基于DCT的88圖像塊。 總的來(lái)說(shuō),基于圖像特征的方法是探索性的,很難用目前現(xiàn)有的模型進(jìn)行理論分析,限制了這種方法在需要有嚴(yán)格性能規(guī)定的實(shí)際商業(yè)中的應(yīng)用。 2. 數(shù)字水印技術(shù)的前景與意義 從國(guó)際、國(guó)內(nèi)對(duì)數(shù)字水印研究現(xiàn)狀和重視程度,可見(jiàn)數(shù)字水印對(duì)社會(huì)的應(yīng)用是多么重要,所以它的研究前景是十分廣闊的。數(shù)字水印技術(shù)是近十年來(lái)橫跨信號(hào)處理、數(shù)字通信、密碼學(xué)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)等多學(xué)科的新興技術(shù),具有潛在的應(yīng)用市場(chǎng)和良好的應(yīng)用前景。 從研究意義來(lái)看,對(duì)它的研究具有重要的學(xué)術(shù)、經(jīng)濟(jì)和軍事價(jià)值。一方面,它將促進(jìn)多媒體技術(shù)、網(wǎng)絡(luò)技術(shù)、通信技術(shù)、信號(hào)處理技術(shù)等多門新興技術(shù)的有機(jī)結(jié)合,促進(jìn)多媒體網(wǎng)

9、絡(luò)的進(jìn)一步繁榮;另一方面,它將有助于多媒體信息版權(quán)保護(hù)及其沖突問(wèn)題的解決。同時(shí),它將促進(jìn)隱蔽通信技術(shù)、信息安全技術(shù)的提高。 2. 數(shù)字水印技術(shù)概況 數(shù)字水印技術(shù)是利用數(shù)字產(chǎn)品普遍存在的冗余數(shù)據(jù)與隨機(jī)性,將水印信息嵌入在數(shù)字產(chǎn)品本身中,從而起到保護(hù)數(shù)字產(chǎn)品版權(quán)或者完整性的一種技術(shù)。 2.1 數(shù)字水印的分類 數(shù)字水印技術(shù)根據(jù)不同的根據(jù)有不同的分類方法,一般有如下分類: 依據(jù)其特性來(lái)分可以將數(shù)字水印分為魯棒數(shù)字水印和脆弱水印兩種。前一種要求嵌入的水印對(duì)常用的編輯處理或惡意攻擊有一定的抵抗性;而后一種則要求對(duì)信息的改動(dòng)有很強(qiáng)的敏感性。 按水印的用途分類可將其分為版權(quán)水印、圖像認(rèn)證水

10、印、隱藏標(biāo)識(shí)水印、防止復(fù)印水印等。 按檢測(cè)的過(guò)程來(lái)劃分?jǐn)?shù)字水印有非盲水印系統(tǒng)和盲水印系統(tǒng)。一般而言,非盲水印的魯棒性較強(qiáng),而其應(yīng)用受到存儲(chǔ)成本的限制。不過(guò),目前學(xué)術(shù)界研究的數(shù)字水印大多數(shù)是盲水印。 根據(jù)內(nèi)容劃分水印又可以分為有意義水印和無(wú)意義水印。二者區(qū)別在于前者本身也是個(gè)圖像或者音頻片段的編碼;而后者卻是一個(gè)序列號(hào)。 按數(shù)字水印的隱藏的位置劃分,數(shù)字水印又有空(時(shí))域數(shù)字水印、頻域數(shù)字水印、時(shí)/頻域數(shù)字水印和時(shí)間/尺度域數(shù)字水印。 2.2 數(shù)字水印系統(tǒng)的模型 現(xiàn)在學(xué)術(shù)界對(duì)數(shù)字水印算法的理解都是將一些不易察覺(jué)的具有隨機(jī)特性的數(shù)據(jù)嵌入到圖像頻域或空域的系數(shù)上。從信號(hào)處理的角度看,嵌入水

11、印可以看成是在強(qiáng)背景下迭加一個(gè)弱信號(hào),由于人類視覺(jué)系統(tǒng)的分辨率受到一定的限制,只要迭加的信號(hào)幅度不超過(guò)HVS的對(duì)比門限,人眼就無(wú)法感覺(jué)到信號(hào)的存在,所以可以通過(guò)對(duì)原始圖像進(jìn)行一定調(diào)整,在不影響視覺(jué)效果的情況下嵌入一些水印信息。 數(shù)字水印系統(tǒng)的一般模型如圖1所示: 圖1 數(shù)字水印系統(tǒng)基本模型 水印嵌入器的輸入量有三個(gè):水印信號(hào)M,宿主信號(hào)S和密鑰K。 水印信號(hào)M是指原始水?。▓D像或一個(gè)數(shù)字序列)通過(guò)一定的方法經(jīng)過(guò)調(diào)制將嵌入到宿主信號(hào)中的數(shù)字信號(hào)。 宿主信號(hào)S是指被嵌入水印的信號(hào)(原始信號(hào))。 密鑰K則指用于提高水印系統(tǒng)安全性的密碼信息,它獨(dú)立于宿主信號(hào)。密鑰有私有密鑰和公共密鑰

12、之分,前者指攻擊者在明確了水印嵌入方法但又不知道密鑰的情況下,水印不會(huì)被破壞或盜?。缓笳呤侵腹粽邔?duì)宿主信號(hào)(如內(nèi)容標(biāo)識(shí)、語(yǔ)言字幕等)不感興趣的情況下,密鑰也就不存在保密性,可以作為公共密鑰。 2.3 數(shù)字水印算法 1. 水印嵌入算法 數(shù)字水印技術(shù)涉及到了多門學(xué)科:信號(hào)處理、數(shù)字通信、密碼學(xué)、模式識(shí)別等,研究人員從各個(gè)角度對(duì)水印嵌入算法進(jìn)行了研究。以下簡(jiǎn)要介紹幾種典型的算法。 1)空域水印嵌入算法 空域水印嵌入算法包括最低有效位算法LSB、Patchwork 方法、紋理映射編碼方法等。其中最低有效位算法LSB是指首先把一個(gè)密鑰輸入一個(gè)m-序列發(fā)生器來(lái)產(chǎn)生水印信號(hào),然后將其重新排列成2

13、維水印信號(hào),并按象素點(diǎn)逐一插入到原始圖像象素值的最低位。由于水印信號(hào)被安排在了最底位上,是不可見(jiàn)的,基于同樣的原因,可以輕易的被移去,所以它的魯棒性很差。而Patchwork 方法是一種基于統(tǒng)計(jì)的數(shù)字水印嵌入方法,是通過(guò)增加一個(gè)象素點(diǎn)的亮度值,再相應(yīng)的減少另一個(gè)象素點(diǎn)的亮度值來(lái)隱藏信息。紋理映射編碼方法則是將數(shù)字信息隱藏于數(shù)字圖象的任意紋理部分,該算法對(duì)于濾波、壓縮和旋轉(zhuǎn)等操作具有抵抗能力。 2)變換域水印嵌入算法 變換域中能量分布集中,有利于保證水印的不可見(jiàn)性,提高了水印的魯棒性,所以這一算法得到了廣泛的應(yīng)用。圖2是變換域水印算法的過(guò)程 圖2 變換域水印嵌入過(guò)程圖 變換域算法

14、中有一種典型的算法DCT域數(shù)字水印算法,該算法是通過(guò)對(duì)選定的DCT系數(shù)進(jìn)行微小變換以滿足特定的關(guān)系,來(lái)表示一個(gè)比特的信息。在水印信號(hào)提取時(shí),則選取相同的DCT系數(shù),并根據(jù)系數(shù)之間的關(guān)系抽取比特信息。其特點(diǎn)是數(shù)據(jù)改變幅度較小,且透明性好,但是其抵抗幾何變換等攻擊的能力較弱。另外基于DFT和DWT算法與上述算法具有相似的原理。 目前DWT域的算法還不多見(jiàn),但小波域具有良好的空頻分解特性,而且嵌入式零樹(shù)小波編碼將在新一代的壓縮標(biāo)準(zhǔn)中被采用,迎合著國(guó)際壓縮標(biāo)準(zhǔn),小波域的水印算法具有良好的發(fā)展前景。 2. 水印檢測(cè)算法 水印檢測(cè)是上述嵌入過(guò)程的逆過(guò)程,以下詳細(xì)介紹一下水印相關(guān)檢測(cè)技術(shù)。 待測(cè)試

15、圖像與原始圖像的差為: (2-1) 對(duì)進(jìn)行域變換,再利用下式提取水印序列: (2-2) 得到了可提取的待測(cè)試序列: (2-3) 待測(cè)序列中假設(shè)有n個(gè)數(shù)據(jù)值與原始水印序列中對(duì)應(yīng)位上的值不相同,則定義誤碼率: (2-4) 則有相關(guān)系數(shù): (2-5) 從而可以得到相關(guān)系數(shù)和誤碼率的關(guān)系: (2-6) 根據(jù)誤碼率的值可判斷圖像中是否含有水印信號(hào),從而達(dá)到版權(quán)保護(hù)的目的。判定準(zhǔn)則為:事

16、先設(shè)定閾值。若,可以判定被測(cè)圖像中含有水印;否則,沒(méi)有水印。閾值的選擇要同時(shí)考慮虛警概率和漏警概率。虛警概率是指待測(cè)圖像中不包含水印而檢測(cè)器輸出結(jié)果卻表明含有水印的概率;漏警概率是指待測(cè)圖像中包含水印而檢測(cè)器輸出結(jié)果卻表明不含有水印的概率。增大,則漏警概率降低而虛警概率提高;反之亦然。若與不相關(guān),的概率等于具有Gaussian分布的隨機(jī)變量超過(guò)其均值T倍方差的概率。 圖3是典型的水印檢測(cè)/提取系統(tǒng) 圖3 水印檢測(cè)提取系統(tǒng) 3. MATLAB軟件的介紹 MATLAB語(yǔ)言是一種非常強(qiáng)大的工程語(yǔ)言,被廣泛應(yīng)用于包括信號(hào)與圖象

17、處理、控制系統(tǒng)設(shè)計(jì)、通信、系統(tǒng)仿真等諸多領(lǐng)域。 3.1 MATLAB研究數(shù)字水印的優(yōu)點(diǎn) MATLAB語(yǔ)言有不同于其他高級(jí)語(yǔ)言特點(diǎn),它在研究數(shù)字水印有如下特點(diǎn): 1. 編程效率高 MATLAB語(yǔ)言是用數(shù)學(xué)形式的語(yǔ)言編寫程序,用MATLAB編寫程序猶如在演算紙上排列公式與求解問(wèn)題。由于它編寫簡(jiǎn)單,所以編程效率高,易學(xué)易懂。 2.用戶使用方便 與其他語(yǔ)言相比,MATLAB能在同一畫(huà)面上進(jìn)行靈活操作,快速排除輸入程序中的書(shū)寫錯(cuò)誤、語(yǔ)法錯(cuò)誤甚至語(yǔ)意錯(cuò)誤,從而加快了用戶編寫、修改和調(diào)試程序的速度,便于操作。 3. 擴(kuò)充能力強(qiáng),交互性好 MATLAB語(yǔ)言庫(kù)函數(shù)豐富,用戶還可以根據(jù)自己的需要

18、方便地建立和擴(kuò)充新的庫(kù)函數(shù),提高M(jìn)ATLAB使用效率和擴(kuò)充功能。良好的交互性使程序員可以使用以前編寫過(guò)的程序,減少重復(fù)性工作。 4. 移植性好,開(kāi)放性好 MATLAB是用C語(yǔ)言編寫的,而C語(yǔ)言的可移植性很好。于是MATLAB可以很方便地移植到能運(yùn)行C語(yǔ)言的操作平臺(tái)上。 5. 語(yǔ)言簡(jiǎn)單,內(nèi)涵豐富 MATLAB語(yǔ)言中最基本最重要的成分是函數(shù),同一函數(shù)名,不同數(shù)目的輸入變量及不同數(shù)目的輸出變量,代表著不同的含義。這不僅使MATLAB的庫(kù)函數(shù)功能更豐富,而且大大減少了需要的磁盤空間,使得MATLAB編寫的M文件簡(jiǎn)單、短小而高效。 6. 方便的繪圖功能 MATLAB軟件中有一系列繪圖函數(shù),在

19、運(yùn)用MATLAB軟件時(shí)只需要調(diào)用不同的繪圖函數(shù),即可在圖上標(biāo)出圖題、XY軸標(biāo)注。 7. 功能強(qiáng)大的工具箱是MATLAB的另一特色。 MATLAB工具箱中的信號(hào)處理、控制系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、圖象處理、魯棒控制、非線性系統(tǒng)控制設(shè)計(jì)、系統(tǒng)辨識(shí)、最優(yōu)化、模糊邏輯、小波、通信、統(tǒng)計(jì)(statistics等工具箱),這些工具箱給各個(gè)領(lǐng)域的研究和工程應(yīng)用提供了有力的工具。 8. MATLAB的缺點(diǎn) 它和其他高級(jí)程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序?yàn)榻忉寛?zhí)行,所以速度較慢。 3.2 MATLAB函數(shù)介紹 在研究水印技術(shù)時(shí),我們處理的圖像數(shù)據(jù)是

20、二維信號(hào),而聲音是一維信號(hào),所以在這里,我門只簡(jiǎn)單介紹與水印有關(guān)的函數(shù)。 1. 數(shù)據(jù)輸入輸出函數(shù) imread()和imwrite():可以讀寫bmp, jpg/jpeg, tif/tiff, png, hdf, pcx, wxd格式文件。讀索引文件時(shí),還可以得到相應(yīng)的調(diào)色板數(shù)據(jù)。 2. 圖象顯示 imshow():顯示一幅圖像;imfinfo():可以得到讀入圖像的信息。如文件的大小、格式、格式版本號(hào)、圖像的高度、寬度、顏色類型(真彩色,灰度圖還是索引圖)等。 3. 變換域函數(shù) 對(duì)信號(hào)采用不同的變換,是實(shí)現(xiàn)頻域法水印的至關(guān)重要的一步,MATLAB中的一維信號(hào)和二維信號(hào)分別提供了各

21、種變換和逆變換函數(shù)。 1) 離散余弦變換(DCT) (1) dct(),dct2():分別實(shí)現(xiàn)一維信號(hào)和二維信號(hào)的DCT(離散余弦變換); (2) idct(),idct2():分別實(shí)現(xiàn)一維信號(hào)和二維信號(hào)的IDCT(逆離散余弦變換); 2) 離散傅立葉變換(DFT) (1) fft(),fft2():分別實(shí)現(xiàn)一維信號(hào)和二維信號(hào)的DFT(離散傅立葉變換); (2) ifft(),ifft2():分別實(shí)現(xiàn)一維信號(hào)和二維信號(hào)的IDFT(逆離散傅立葉變換); 4. 攻擊函數(shù) 對(duì)算法進(jìn)行攻擊測(cè)試是對(duì)水印魯棒性檢測(cè)的一種重要手段,一個(gè)好的水印算法必須經(jīng)過(guò)各種攻擊測(cè)試才能對(duì)之做出客觀的評(píng)

22、價(jià)。 MATLAB中的許多函數(shù)可以直接用來(lái)做攻擊測(cè)試: 1)旋轉(zhuǎn):rotate()可以對(duì)圖像進(jìn)行任意角度的旋轉(zhuǎn); 2)剪裁:imcrop()可以按精確定位的各點(diǎn)坐標(biāo)進(jìn)行剪裁; 3)濾波:filter()和filter2()可實(shí)現(xiàn)對(duì)一維信號(hào)和二維信號(hào)的濾波; 4)加各種噪聲:imnoise()可以對(duì)圖像加入各種噪聲,如白噪聲、椒鹽噪聲等。 4. 基于DCT域的數(shù)字水印技術(shù) 離散余弦變換,簡(jiǎn)稱DCT,是一種實(shí)數(shù)域變換,其變換核為實(shí)數(shù)的余弦函數(shù),計(jì)算速度較快,是一種近似最佳變換,很適合于做圖象壓縮和隨機(jī)信號(hào)處理,它對(duì)常用的圖象壓縮有較強(qiáng)的魯棒性。 基于DCT域的數(shù)字水印算法,一

23、般而言有兩種算法。一種是直接對(duì)整幅圖像進(jìn)行DCT計(jì)算,選取合適頻段的系數(shù),嵌入水印。另一種是,首先將整幅圖像分成塊,對(duì)每一塊分別進(jìn)行DCT計(jì)算,在每一塊中選取合適頻段的系數(shù),將水印信息分散嵌入到每一塊所選取的DCT系數(shù)中。這種方法稱為分塊DCT,這種方法非常適合于88的圖像塊DCT變換。目前,DCT域的水印方法大多數(shù)是采用分塊DCT方法。 4.1 二維DCT概述 一般而言,數(shù)字圖象,其二維DCT變換用矩陣表示,其定義式如下式所示: (4-1) 二維IDCT定義如下: (4-2) 其中 并且 (4-3) 我們最常用到的是88分塊DCT,也

24、就是首先將大小為MN的圖像分成的非重疊的大小為88的塊,然后對(duì)每一塊作DCT。根據(jù)式(4-1)和式(4-2),88DCT的定義如下: (4-4) 88IDCT的定義如下: (4-5) 其中, 并且 (4-6) 4.2 基于DCT域數(shù)字水印嵌入算法 DCT域的水印嵌入過(guò)程,就是首先對(duì)宿主圖像S進(jìn)行分塊DCT運(yùn)算,選取出要嵌入的DCT系數(shù)C,并且對(duì)宿主圖像用HVS模型進(jìn)行分析,得到感知系數(shù)掩蔽模板,用其來(lái)控制水印嵌入強(qiáng)度,再將編碼后的水印信號(hào)W,用一定方式嵌入到選好的系數(shù)中。用嵌入水印的系數(shù)替代原來(lái)位置的系數(shù),再進(jìn)行逆DCT(Inv

25、erse Discrete Cosine Transform,IDCT)變換,就得到了含有水印的圖像X。DCT域水印系統(tǒng)的水印嵌入過(guò)程框圖如圖4所示: 圖4 DCT域水印嵌入過(guò)程方框圖 水印嵌入步驟如下: 1. 將宿主圖像分成88的塊,每一塊都進(jìn)行DCT變換,得到與宿主圖象相同尺寸的DCT域系數(shù)矩陣。 2. 產(chǎn)生兩個(gè)不相關(guān)的偽隨機(jī)序列,并設(shè)定一個(gè)密鑰key。 3. 將每個(gè)88的DCT系數(shù)矩陣,從每一塊的中頻段取出個(gè)系數(shù)。 4. 然后嵌入水印,嵌入規(guī)則為當(dāng)水印圖像元素為‘0’時(shí),按照式子(其中alpha為尺度因子,mark為隨機(jī)序列,為原圖像的分塊DCT系數(shù)),將一個(gè)隨機(jī)序列與

26、原始圖像塊的幅度譜對(duì)應(yīng)元素進(jìn)行乘性疊加;為‘1’時(shí),用另一個(gè)偽隨機(jī)序列與幅度譜對(duì)應(yīng)元素進(jìn)行乘性疊加。 5. 用得到的新的DCT系數(shù)對(duì)原來(lái)位置的DCT系數(shù)進(jìn)行置換。 6. 對(duì)新的DCT系數(shù)矩陣進(jìn)行DCT逆變換,得到了嵌入水印信號(hào)的圖像。 4.3 基于DCT域數(shù)字水印檢測(cè)提取算法 DCT域水印的驗(yàn)證過(guò)程(即包括水印的檢測(cè)和提取過(guò)程),就是將待測(cè)圖像Y(注意此時(shí)的圖像也許已經(jīng)遭受了圖象處理或惡意攻擊)進(jìn)行DCT運(yùn)算;然后按著嵌入水印時(shí)選取的DCT系數(shù),選取其含有水印的系數(shù),進(jìn)行水印提取,然后利用相關(guān)檢測(cè)法判斷水印是否存在。如果水印檢測(cè)器輸出結(jié)果顯示水印存在,則根據(jù)需要可以用水印解碼器對(duì)提取的

27、水印進(jìn)行解碼,恢復(fù)水印。水印檢測(cè)提取過(guò)程如圖5 圖5 DCT域數(shù)字水印檢測(cè)提取框圖 水印檢測(cè)提取步驟如下: 1. 對(duì)含有水印圖像進(jìn)行88的塊DCT變換。 2. 對(duì)每一塊的DCT系數(shù)進(jìn)行“之”字型排列,從我們已知的嵌入位置取出可能含有水印的系數(shù),將所有提取出的系數(shù),按順序組成新的系數(shù)序列。 3. 用密鑰生成水印信號(hào) 4. 將含水印的系數(shù)序列與水印信號(hào)進(jìn)行相關(guān)計(jì)算,得到歸一化相關(guān)系數(shù)。 4.4 實(shí)驗(yàn)結(jié)果及分析 以下是尺度因子alpha=30時(shí)的實(shí)驗(yàn)結(jié)果,以及受到各種攻擊后所提取到的水印圖像及其與原始水印圖像的相關(guān)系數(shù): 圖6 原始圖像和嵌入水印后的圖像 此時(shí),

28、alpha=30 圖7 沒(méi)有受到攻擊的圖像及提取到的水印圖像 此時(shí)相關(guān)系數(shù)=1 圖8 加入白噪聲后的圖像、原始水印和提取的水印圖像 此時(shí)相關(guān)系數(shù)=0.99969 圖9 高斯低通濾波后的圖像及提取的水印圖像 此時(shí)相關(guān)系數(shù)=0.99058 圖10 剪切后的圖像及提取的水印圖像 此時(shí)相關(guān)系數(shù)=0.93909 圖11 旋轉(zhuǎn)10后的圖像及提取的水印圖像 此時(shí)相關(guān)系數(shù)=0.48383 從以上結(jié)果可以看出:當(dāng)圖像(宿主信息)受到加噪、高斯低通濾波、剪切等攻擊后,其可視度、提取的水印圖像與原始水印圖像的相似度(都在90%以上) 都是非常令人滿意的;當(dāng)受到旋

29、轉(zhuǎn)攻擊后,其提取的水印圖像與原始水印圖像的相似度(不足50%)卻令人感到失望,不過(guò)仍可證明水印信息的存在。 5 基于傅立葉域變換的數(shù)字水印技術(shù) 5.1 傅立葉變換概述 傅立葉變換(Fourier Transform)是線性系統(tǒng)分析的一個(gè)有力工具,是研究信號(hào)的頻譜方法,它架起了時(shí)域和頻域之間的橋梁。使我們能夠定量分析諸如數(shù)字化系統(tǒng)、采樣點(diǎn)、電子放大器、卷積濾波器、噪聲等的作用,把傅立葉變換的理論同其物理解釋相結(jié)合,將大大有助于解決大多數(shù)圖象處理問(wèn)題。 Fourier分析理論十分完善,既可以處理連續(xù)信號(hào)也可以處理離散信號(hào)。計(jì)算機(jī)只能處理離散信號(hào),且在數(shù)字圖象處理中,輸入圖像和輸出圖像通常

30、都是二維的,一般表示成二維數(shù)字矩陣,因此這里直接討論二維離散傅立葉變換(DFT)和二維快速傅立葉變換(FFT)。 1. 二維離散傅立葉變換DFT(Discrete Fourier Transform) 二維離散傅立葉變換對(duì)定義式如下: (5-1) (5-2) 二維離散傅立葉變換的傅立葉譜、相位、功率譜分別如下: 傅立葉譜: (5-3) 相位: (5-4) 功率譜: (5-5) 式子(5-1)可以分離為: (5-6) 式子(5-2

31、)可以分離為: (5-7) 由上兩式可知,二維傅立葉變換可由連續(xù)兩次一維傅立葉變換得到,從而將二維DFT分解為水平和垂直兩部分運(yùn)算,上式中方括號(hào)中的項(xiàng)表示在圖像的行上計(jì)算的DFT,方括號(hào)外邊的求和則實(shí)現(xiàn)結(jié)果數(shù)組在列上的DFT,這種分解使我們可以用一維FFT來(lái)快速實(shí)現(xiàn)二維DFT。 2. 二維快速傅立葉變換FFT(Fast Fourier Transform) FFT的基本思想是: 令序列的長(zhǎng)度為,如果不滿足,在尾部補(bǔ)零,沒(méi)有任何影響。按n奇偶把分解為兩個(gè)N/2點(diǎn)的子序列: (5-8) (5-9)

32、那么 (5-10) 將(5-8)和(5-9)式代入上式得: (5-11) 上式右邊的兩部分恰好是長(zhǎng)度(周期)為N/2的的傅立葉變換,所以: (5-12) (5-13) 這樣一個(gè)長(zhǎng)度為N的DFT就分解為兩個(gè)長(zhǎng)度為N/2的DFT,然后進(jìn)行N/2次復(fù)數(shù)的蝶式運(yùn)算,再運(yùn)用分解-遞歸思想,分解次,每一次均有N/2個(gè)蝶式運(yùn)算,所以FFT的時(shí)間復(fù)雜度為。 FFT在圖像運(yùn)用中的思想是,先將原圖像進(jìn)行轉(zhuǎn)置,按行對(duì)轉(zhuǎn)置后的圖像矩陣做一維FFT,將此變換所得的中間矩陣再轉(zhuǎn)置,再按對(duì)轉(zhuǎn)置后的中間矩陣做一維FFT

33、,最后得到的就是二維FFT。 5.2 基于傅立葉域的數(shù)字水印嵌入算法 這里的嵌入算法大抵同前面所講的嵌入過(guò)程,唯一不同的是傅立葉變換中涉及到復(fù)數(shù)運(yùn)算,所以在嵌入過(guò)程中還需要計(jì)算一下其變換后的幅度值方可嵌入,嵌入算法的步驟如下: 1. 將宿主圖像分成88的塊,每一塊都進(jìn)行DFT變換,得到與宿主圖象相同尺寸的DFT域圖象系數(shù)矩陣。 2. 產(chǎn)生兩個(gè)不相關(guān)的偽隨機(jī)序列,并設(shè)定一個(gè)密鑰key。 3. 將每個(gè)88的DFT系數(shù)矩陣,從每一塊的中頻段取出個(gè)系數(shù)。 4. 由于DFT域的幅度譜具有對(duì)稱性,為了水印嵌入后保持這種對(duì)稱性,也為了確?;謴?fù)圖像像素值為實(shí)數(shù),嵌入水印時(shí)采用對(duì)稱嵌入。嵌入規(guī)則為當(dāng)

34、水印圖像元素為‘0’時(shí),按照式子(其中alfa為尺度因子,mark為隨機(jī)序列,為原圖像的分塊DFT系數(shù)),將一個(gè)隨機(jī)序列與原始圖像塊的幅度譜對(duì)應(yīng)元素進(jìn)行乘性疊加;為‘1’時(shí),用另一個(gè)偽隨機(jī)序列與幅度譜對(duì)應(yīng)元素進(jìn)行乘性疊加。 5. 用得到的新的DFT系數(shù)對(duì)原來(lái)位置的DFT系數(shù)進(jìn)行置換。 6. 對(duì)每一圖像塊進(jìn)行DFT逆變換,得到含水印圖像。 5.3 基于傅立葉域的數(shù)字水印檢測(cè)提取算法 這里的檢測(cè)提取算法過(guò)程大抵同前面所講的DCT域數(shù)字水印檢測(cè)提取算法,提取算法步驟如下: 1. 將宿主圖像分成88的塊,每一塊都進(jìn)行DFT變換,得到與宿主圖像相同尺寸的DFT域圖象系數(shù)矩陣。 2. 對(duì)每一塊

35、的DFT系數(shù)進(jìn)行“之”字型排列,從我們已知的嵌入位置取出可能含有水印的系數(shù),將所有提取出的系數(shù),按順序組成新的系數(shù)序列。 3. 計(jì)算嵌入水印圖像塊的幅度譜與兩個(gè)偽隨機(jī)序列的相關(guān)性,假設(shè)嵌入的水印圖像矩陣為‘0’時(shí)疊加的是隨機(jī)序列A,為‘1’時(shí)疊加的是隨機(jī)序列B,則提取時(shí)如果嵌入水印幅度譜與隨機(jī)序列A的相關(guān)性大于其B的相關(guān)性,那么這個(gè)位置嵌入的是水印圖像矩陣‘0’元素。按這個(gè)規(guī)則即可提取出水印圖像。 4. 將含水印的系數(shù)序列與水印信號(hào)進(jìn)行相關(guān)計(jì)算,得到歸一化相關(guān)系數(shù)。 5.4 實(shí)驗(yàn)結(jié)果與分析 以下是尺度因子alpha=260時(shí)的實(shí)驗(yàn)結(jié)果,以及受到各種攻擊后所提取到的水印圖像及其與原始水

36、印圖像的相關(guān)系數(shù): 圖12 原始圖像與嵌入水印后的圖像 圖13 沒(méi)有受到攻擊的圖像和直接提取的水印圖像 此時(shí)相關(guān)系數(shù)=1 圖14 加入白噪聲后的圖像、原始水印圖像及提取的水印圖像 此時(shí)相關(guān)系數(shù)=0.96566 圖15 高斯低通濾波后的圖像及提取的水印圖像 此時(shí)相關(guān)系數(shù)=0.97311 圖16 剪切后的圖像及提取的水印圖像 此時(shí)相關(guān)系數(shù)=0.96907 圖17 旋轉(zhuǎn)后的圖像及提取的水印圖像 此時(shí)相關(guān)系數(shù)=0.91301 從以上結(jié)果可以看出,由于DFT域?qū)θ中缘男D(zhuǎn)、平移和縮放變換具有不變性的特點(diǎn),基于DFT域的數(shù)字水印技術(shù)要比基于DC

37、T域的數(shù)字水印技術(shù)的魯棒性要強(qiáng)的多,特別是對(duì)于旋轉(zhuǎn)攻擊,前者的優(yōu)勢(shì)更加突出! 結(jié) 論 本文首先對(duì)數(shù)字水印技術(shù)進(jìn)行了簡(jiǎn)單的概述,介紹了近些年來(lái),國(guó)內(nèi)外學(xué)者在這一方面所做出的努力和成就,并對(duì)其進(jìn)行了一下客觀的展望。其次,分別從數(shù)字水印可能受到的攻擊、數(shù)字水印技術(shù)的嵌入、提取和檢測(cè)四個(gè)方面展開(kāi)了研究。 在研究過(guò)程中,通過(guò)改變尺度因子,進(jìn)而改變水印信息的嵌入強(qiáng)度,然后比較嵌入水印信息后宿主圖像的可視度來(lái)確定最佳尺度因子。經(jīng)過(guò)實(shí)驗(yàn)觀察,尺度因子越大嵌入水印后宿主圖像的可視度就越小,即圖像越模糊不清,卻有利于提高其魯棒性;反之亦然。 對(duì)于數(shù)字水印技術(shù),除了通過(guò)改進(jìn)算法來(lái)提高魯棒性外,我們還可

38、以從密碼學(xué)角度通過(guò)提高攻破密鑰所需要的代價(jià)來(lái)保護(hù)我們所傳送的信息。另外,還可以仿照互聯(lián)網(wǎng)中通過(guò)建立標(biāo)準(zhǔn)的協(xié)議和方法來(lái)進(jìn)一步改變現(xiàn)狀等等。 總之,這是一門嶄新而富有挑戰(zhàn)的學(xué)科,而且,隨著網(wǎng)絡(luò)的發(fā)展其前景也是非常樂(lè)觀的,它需要各個(gè)領(lǐng)域的專家聯(lián)合攻關(guān)共同努力才能取得理想的效果。同時(shí),也希望自己能在這一領(lǐng)域有所作為! 參考文獻(xiàn) [1] 朱丹丹.圖像數(shù)字水印技術(shù)要析[J] .通化師范學(xué)院學(xué)報(bào).-通化:2008年2月第29卷第2期:39 [2] 彭靜.數(shù)字水印算法檢測(cè)標(biāo)準(zhǔn)的研究[J] .電子科技大學(xué)學(xué)報(bào).-西安:2007年6月第3

39、6卷第3期:567 [3] 耿永軍,朱雪芹.基于離散余弦變換的數(shù)字水印算法[J] .鄭州大學(xué)學(xué)報(bào).-鄭州:2005 [4] 劉慧珍.變換域數(shù)字水印算法研究[J] .華僑大學(xué)碩士學(xué)位論文.-廣州:2006:16~17 [5] 龐小紅.圖像數(shù)字水印理論與技術(shù)研究.哈爾濱工程大學(xué)博士學(xué)位論文.-哈爾濱:2006:29~30 [6] 曾滿紅.傅立葉明文水印及零水印算法的研究.燕山大學(xué)碩士學(xué)位論文.-北京:2005:16~17 [7] 龐小紅.圖像數(shù)字水印理論與技術(shù)研究.哈爾濱工程大學(xué)博士學(xué)位論文.-哈爾濱:2006:34 [8] Rafael C.Gonzalez,Richad E.Woo

40、ds.數(shù)字圖像處理(阮秋琦,阮宇智等譯)[M]. -北京:電子工業(yè)出版社,2003 [9] 飛思科技產(chǎn)品研發(fā)中心.MATLAB 6.5輔助圖象處理[M] .-北京:電子工業(yè)出版社,2003 附錄A(基于DCT域的數(shù)字水印算法程序) %%%%%%%%%%%%% 嵌入算法 %%%%%%%%%%%%%%% clear all; clc; %%%%%% 讀取水印圖像 %%%%%%%% omark=double(imread(muxiao.bmp))/255; mo=size(omark,1); no=size(omark,2); %

41、%%%% 以下生成水印信息 %%%%%% mark=omark; alpha=30; rand1=randn(1,8); rand2=randn(1,8); %%%%%% 讀取宿主圖像 %%%%%%%% cimage=imread(lena.bmp); figure(1); subplot(2,3,1),imshow(cimage,[]),title(‘原始的宿主圖像’); [mc,nc]=size(cimage); cda0=blkproc(cimage,[8,8],dct2); %%%%%%% 嵌入水印 %%%%%%%%% cda1=cda0; for i=1

42、:mo for j=1:no x=(i-1)*8;y=(j-1)*8; if mark(i,j)==1 k=rand1; else k=rand2; end cda1(x+1,y+8)=cda0(x+1,y+8)+alpha*k(1); cda1(x+2,y+7)=cda0(x+2,y+7)+alpha*k(2); cda1(x+3,y+6)=cda0(x+3,y+6)+alpha*k(3); cda1(x+4,y+5)=cda0(

43、x+4,y+5)+alpha*k(4); cda1(x+5,y+4)=cda0(x+5,y+4)+alpha*k(5); cda1(x+6,y+3)=cda0(x+6,y+3)+alpha*k(6); cda1(x+7,y+2)=cda0(x+7,y+2)+alpha*k(7); cda1(x+8,y+1)=cda0(x+8,y+1)+alpha*k(8); end end %%%%%% 嵌入水印后圖象 %%%%%% wimage=blkproc(cda1,[8,8],idct2); wimage_1=uint8(wimage);

44、imwrite(wimage_1,withmark.bmp,bmp); subplot(2,3,2),imshow(wimage,[]),title(‘嵌入水印后圖象’); %%%%%%%%%%%%%% 進(jìn)行攻擊測(cè)試 %%%%%%%%%%% disp(‘1-->加入白噪聲’); disp(‘2-->高斯低通濾波’); disp(‘3-->剪切圖像’); disp(‘4-->旋轉(zhuǎn)攻擊’); disp(‘5-->直接檢測(cè)’) begin=input(‘請(qǐng)選擇攻擊(1-5):’) switch begin %%%%%%% 加入白噪聲 %%%%%%%% case 1 A

45、image1=wimage; Wnoise=20*randn(size(Aimage1)); Aimage1=Aimage1+Wnoise; subplot(2,3,4),imshow(Aimage1,[]),title(‘加入白噪聲后的圖象’); att=Aimage1; imwrite(att,whitenoiseimage.bmp); %%%%%%% 高斯低通濾波 %%%%%%% case 2 Aimage2=wimage; H=fspecial(gaussian,[4,4],0.5); Aimage2=imfilter(Aimage2,H); subplo

46、t(2,3,4),imshow(Aimage2,[]),title(‘高斯低通濾波后的圖象’); att=Aimage2; imwrite(att,gaussianimage.bmp) %%%%%%%% 剪切攻擊 %%%%%%%% case 3 Aimage3=wimage; Aimage3(1:128,1:128)=256; subplot(2,3,4),imshow(Aimage3,[]),title(‘剪切后的圖象’); att=Aimage3; imwrite(att,cutpartimage.bmp); %%%%%%%% 旋轉(zhuǎn)攻擊 %%%%%%%%

47、 case 4 Aimage4=wimage; Aimage4=imrotate(Aimage4,10,bilinear,crop); Aimage_4=mat2gray(Aimage4); subplot(2,3,4),imshow(Aimage_4,[]),title(‘旋轉(zhuǎn)10 度后的圖象’); att=Aimage_4; imwrite(att,rotatedimage.bmp); %%%%%%% 沒(méi)有受到攻擊 %%%%%%% case 5 subplot(2,3,4),imshow(wimage,[]),title(‘直接提取的圖像’); att=wim

48、age; imwrite(att,directimage.bmp); end %%%%%%%%%%%%% 提取水印 %%%%%%%%%%%%%% tmark_0=att; tmark_0=blkproc(tmark_0,[8,8],dct2); pass=zeros(1,8); for i=1:mo for j=1:no x=(i-1)*8;y=(j-1)*8; pass(1)=tmark_0(x+1,y+8); pass(2)=tmark_0(x+2,y+7); pass(3)=tmark_0(x

49、+3,y+6); pass(4)=tmark_0(x+4,y+5); pass(5)=tmark_0(x+5,y+4); pass(6)=tmark_0(x+6,y+3); pass(7)=tmark_0(x+7,y+2); pass(8)=tmark_0(x+8,y+1); if (corr2(pass,rand1)>corr2(pass,rand2)) tmark_1(i,j)=1; else tmark_1(

50、i,j)=0; end end end %%%%%%%%%% 計(jì)算NC(歸一化相關(guān)系數(shù))%%%%%%%% g_mark=double(tmark_1); o_mark=double(omark); [m,n]=size(g_mark); nc_0=0; nc_1=0; nc_2=0; for i=1:m for j=1:n nc_0=nc_0+g_mark(i,j)*o_mark(i,j); nc_1=nc_1+o_mark(i,j)*o_mark(i,j); nc_2=nc_2+g_

51、mark(i,j)*g_mark(i,j); end end NC=nc_0/sqrt(nc_1*nc_2); %%%%%% 顯示提取水印 %%%%%%%% subplot(2,3,5),imshow(muxiao.bmp),title(‘原始水印圖像’); subplot(2,3,6),imshow(tmark_1,[]); name=‘提取得水印圖像’; title(strcat(num2str(name),NC=,num2str(NC))); 附錄B(基于FFT域的數(shù)字水印算法程序) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%

52、%%%%%%%%% 嵌入水印算法 %%%%%%%%%%%%%% clear all; clc; %%%%%% 讀取水印圖象 %%%%%%% omark=double(imread(muxiao.bmp))/255; mo=size(omark,1); no=size(omark,2); %%%%% 以下生成水印信息 %%%%%% mark=omark; alpha=200; R1=randn(1,8); rand1=round(R1); R2=randn(1,8); rand2=round(R2); %%%%%%% 讀取宿主圖像 %%%%%%% cimage=

53、imread(lena.bmp); figure(1); subplot(2,3,1),imshow(cimage,[]),title(原始的宿主圖像); [mc,nc]=size(cimage); cimage=double(cimage); fft0=blkproc(cimage,[8,8],fft2); %%%%%%% 嵌入水印 %%%%%%%%% fft_abs=abs(fft0); fft_angle=angle(fft0); fft1=fft_abs; for ii=1:mo for jj=1:no x=(ii-1)*8;y=(j

54、j-1)*8; if mark(ii,jj)==1 k=rand1; else k=rand2; end fft1(x+1,y+8)=fft_abs(x+1,y+8)+alpha*k(1); fft1(x+2,y+7)=fft_abs(x+2,y+7)+alpha*k(2); fft1(x+3,y+6)=fft_abs(x+3,y+6)+alpha*k(3); fft1(x+4,y+5)=fft_abs(x+4,y+5)+alpha*k(4); fft1

55、(x+5,y+4)=fft_abs(x+5,y+4)+alpha*k(5); fft1(x+6,y+3)=fft_abs(x+6,y+3)+alpha*k(6); fft1(x+7,y+2)=fft_abs(x+7,y+2)+alpha*k(7); fft1(x+8,y+1)=fft_abs(x+8,y+1)+alpha*k(8); end end fft_abs_0=fft1; fft_abs_1=(fft_abs_0.*exp(i*fft_angle)); wimage_0=blkproc(fft_abs_1,[8,8],ifft2); w

56、image=abs(wimage_0); %%%%%% 顯示嵌入水印圖象 %%%%% wimage_1=uint8(wimage); imwrite(wimage_1,withmark.bmp,bmp); subplot(2,3,2),imshow(wimage,[]),title(嵌入水印后的圖象); %%%%%%%%%%%%% 進(jìn)行各種攻擊 %%%%%%%%%%%% disp(1-->加入白噪聲); disp(2-->高斯低通濾波); disp(3-->剪切圖像); disp(4-->旋轉(zhuǎn)圖象); disp(5-->直接檢測(cè)); begin=input(請(qǐng)選擇攻擊(1

57、-5)); switch begin %%%%%%%%加入白噪聲%%%%%%%% case 1 Aimage1=wimage; Wnoise=12*randn(size(Aimage1)); Aimage1=Aimage1+Wnoise; subplot(2,3,4),imshow(Aimage1,[]),title(加入白噪聲后的圖象); att=Aimage1; imwrite(att,whitenoiseimage.bmp); %%%%%% 高斯低通濾波 %%%%%%%% case 2 Aimage2=wimage; H=fspecial(ga

58、ussian,[4,4],0.6); Aimage2=imfilter(Aimage2,H); subplot(2,3,4),imshow(Aimage2,[]),title(高斯低通濾波后的圖象); att=Aimage2; imwrite(att,gaussianimage.bmp) %%%%%%% 剪切攻擊 %%%%%%%%% case 3 Aimage3=wimage; Aimage3(1:128,1:128)=256; subplot(2,3,4),imshow(Aimage3,[]),title(剪切后的圖象); att=Aimage3; imwrit

59、e(att,cutpartimage.bmp); %%%%%%% 旋轉(zhuǎn)攻擊 %%%%%%%%% case 4 Aimage4=wimage; Aimage4=imrotate(Aimage4,10,bilinear,crop); Aimage_4=mat2gray(Aimage4); subplot(2,3,4),imshow(Aimage_4,[]),title(旋轉(zhuǎn)10度后的圖象); att=Aimage_4; imwrite(att,rotatedimage.bmp); %%%%%%% 沒(méi)有受到攻擊 %%%%%%% case 5 subplot(2,

60、3,4),imshow(wimage,[]),title(直接提取的圖象); att=wimage; imwrite(att,directimage.bmp); end %%%%%%%%%%%%%%% 提取水印 %%%%%%%%%%%%% tmark_0=att; tmark_0=blkproc(tmark_0,[8,8],fft2); tmark_0=abs(tmark_0); pass=zeros(1,8); for ii=1:mo for jj=1:no x=(ii-1)*8;y=(jj-1)*8; pass(1)=tmar

61、k_0(x+1,y+8); pass(2)=tmark_0(x+2,y+7); pass(3)=tmark_0(x+3,y+6); pass(4)=tmark_0(x+4,y+5); pass(5)=tmark_0(x+5,y+4); pass(6)=tmark_0(x+6,y+3); pass(7)=tmark_0(x+7,y+2); pass(8)=tmark_0(x+8,y+1); if (corr2(pass,rand1)>corr2(pass

62、,rand2)) tmark_1(ii,jj)=1; else tmark_1(ii,jj)=0; end end end %%%%%%%%%% 計(jì)算NC(歸一化相關(guān)系數(shù))%%%%%%%% g_mark=double(tmark_1); o_mark=double(omark); [m,n]=size(g_mark); nc_0=0; nc_1=0; nc_2=0; for ii=1:m for jj=1:n nc_0=nc_0+g_mark(ii

63、,jj)*o_mark(ii,jj); nc_1=nc_1+o_mark(ii,jj)*o_mark(ii,jj); nc_2=nc_2+g_mark(ii,jj)*g_mark(ii,jj); end end NC=nc_0/sqrt(nc_1*nc_2); %%%%%% 顯示提取水印圖象 %%%%% subplot(2,3,5),imshow(muxiao.bmp),title(原始水印圖象); subplot(2,3,6),imshow(tmark_1,[]); name=提取的水印圖像; title(strcat(num2str(name),NC=,num2str(NC))); 致 謝 經(jīng)過(guò)了四年的努力,我終于完成了我的學(xué)業(yè),并順利完成了學(xué)士畢業(yè)論文,在這期間得到了諸多老師的指導(dǎo)與幫助,還有許多親人朋友的關(guān)心與支持,在這里一并表示衷心的感謝! 首先,感謝老師,他在我寫畢業(yè)論文期間給我提供了許多資料,并指導(dǎo)我寫完了畢業(yè)論文,老師嚴(yán)謹(jǐn)樸實(shí)的治學(xué)態(tài)度,誨人不倦的教學(xué)精神,和藹可親的處世之道給我留下了很深刻的映像,讓我受益無(wú)窮。另外,還要感謝圖書(shū)館電子資源管理室,它在我查閱資料方面也給我提供了許多幫助! 感謝所有關(guān)心過(guò)我的人,謹(jǐn)以我的努力作為回報(bào)! - 29 -

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!