版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 -. 可修編. - 可修編第一章 緒論1.1 數(shù)字水印背景簡介1.1.1數(shù)字水印的來源Internet因特網(wǎng)讓多媒體信息的交流到達(dá)了前所未有的深度和廣度,其多種多樣的發(fā)布形式使人們更加準(zhǔn)確并有效率的發(fā)布自己的重要信息和作品,并進(jìn)展網(wǎng)絡(luò)貿(mào)易,但隨之也產(chǎn)生了一些嚴(yán)重的問題,如信息篡改,作品侵權(quán)。為了有效地保護(hù)這類數(shù)字平安,一門新興的穿插學(xué)科信息隱藏學(xué)正式誕生。按照隱藏技術(shù)的應(yīng)用目的和載體對象不同,信息隱藏可分為許多分支領(lǐng)域。數(shù)字水印便是其對以數(shù)字形式存儲和發(fā)布的載體對象進(jìn)展處理的一大分支。1.1.2數(shù)字水印需求背景在現(xiàn)實生活中,對于水印技術(shù)研究興趣的突然增長很可能源于人們對保護(hù)的問題的關(guān)注。近年
2、來,隨著計算機多媒體技術(shù)的飛速開展,人們可以方便的利用數(shù)字設(shè)備制作、處理和存儲圖像、語音、文本和視頻等信息媒體。與此同時,數(shù)字網(wǎng)絡(luò)通信正在飛速開展,使得信息的發(fā)布和傳輸實現(xiàn)了數(shù)字化和網(wǎng)絡(luò)化。對于數(shù)字媒體而言,Internet成了出色的分發(fā)系統(tǒng),因為它不但廉價,而且不需要倉庫存儲,又能實時發(fā)送。因此數(shù)字媒體很容易借助Internet或CD-ROM被復(fù)制、處理、傳播和公開。這樣就引發(fā)出數(shù)字信息傳輸?shù)钠桨矄栴}和數(shù)字產(chǎn)品的保護(hù)問題。如何在網(wǎng)絡(luò)環(huán)境中實施有效的保護(hù)和信息平安手段,已經(jīng)引起了國際學(xué)術(shù)界、企業(yè)界以及政府部門的廣泛關(guān)注。其中如何防止數(shù)字產(chǎn)品如電子出版物、音頻、視頻、動畫、圖像產(chǎn)品等被侵權(quán)、盜版
3、、和隨意篡改,已經(jīng)成為世界各國亟待解決的熱門問題。數(shù)字產(chǎn)品的實際發(fā)布機制的詳細(xì)描述是相當(dāng)復(fù)雜的。論文給出如下簡單發(fā)布模型:圖1-1 數(shù)字產(chǎn)品網(wǎng)絡(luò)發(fā)布的根本模型如上圖,非法操作行為包括以下三種,非法訪問、成心篡改、破壞。為此產(chǎn)品所有者需要一種技術(shù),可以在數(shù)字圖像、音頻和視頻等數(shù)字產(chǎn)品中嵌入秘密信息,以便保護(hù)數(shù)字產(chǎn)品的、證明產(chǎn)品的真實可靠性、跟蹤盜版行為或者提供產(chǎn)品的附加信息。其中的秘密信息可以是標(biāo)志、用戶序列號或者是產(chǎn)品相關(guān)信息。一般情況下,它需要經(jīng)過適當(dāng)變換再嵌入到數(shù)字產(chǎn)品中,通常稱變換后的秘密信息為數(shù)字水印。1.1.3數(shù)字水印根底知識數(shù)字水印技術(shù)涉及多個學(xué)科知識,其中主要包括圖像存儲處理原理
4、,密碼學(xué)技術(shù)。數(shù)字圖像在計算機里的儲存,從構(gòu)造上講,分為兩種,即位圖和矢量圖。在位圖中,圖像由許多的屏幕小點我們通常說的像素組成,這些小點對應(yīng)顯存中的位,而就是這些 位決定了像素的圖形屬性,如像素的顏色、灰度、明暗比照度等。當(dāng)一個像素所占的位數(shù)多時,它所能表現(xiàn)的顏色就更多、更豐富,從整體上看,圖像的色彩就更艷麗,分辨率就更高。位圖中所分的二位圖、八位圖等正是指像素所占的位數(shù)。當(dāng)位圖被放大或縮小時,由于像素的數(shù)量沒有改變,圖像的分辨率就會降低,圖像的外觀自然就大打折扣。密碼學(xué)是研究編制密碼和破譯密碼的技術(shù)科學(xué)。它包括密碼編碼學(xué)cryptography和密碼分析學(xué)cryptanalysis兩個相互
5、獨立又相互促進(jìn)的分支。數(shù)字水印中經(jīng)常會用到一些經(jīng)典的算法。至今,最著名也是最成熟的公鑰密碼算法是由三位數(shù)學(xué)家Rivest、Shamir和Adleman于1978年提出的RSA算法。其數(shù)學(xué)根底是數(shù)論的互素數(shù)、指數(shù)模和模逆元計算。1.2 數(shù)字水印的開展和應(yīng)用1.2.1數(shù)字水印的開展歷程自1993年以來,公開發(fā)表的有關(guān)信息隱藏和數(shù)字水印的文章日漸增多。Va SchvndGl在ICIP94會議上發(fā)表了題為A digital watermark的文章,它是第一篇在主要會議上發(fā)表的關(guān)于數(shù)字水印的文章,其中說明了一些關(guān)于水印的重要概念。這篇文章被認(rèn)為是一篇具有歷史價值的文獻(xiàn)。1996年在英國劍橋舉行的第一屆
6、信息隱藏學(xué)術(shù)研討會標(biāo)志著信息隱藏作為一個新的學(xué)科的誕生。1998年在美國波特士、1999年在德國德雷斯頓、2001年在美國匹茲經(jīng)分別召開了第二至第四屆研討會。第五屆會議在荷蘭NoordwikerhouI舉行。此外,一些信息平安、密碼學(xué)和信息處理領(lǐng)域的國際會議也都有關(guān)于信息隱藏技術(shù)的專題和文章。一些著名的雜志,如IEEE會報、SPIE等都出版了有關(guān)信息隱藏技術(shù)的專題。1999年12月Stefan KAtZenbciss和Fabien APPeticolas等人出版了該領(lǐng)域的第一本專業(yè)論著Information hiding techniques for steganography and dig
7、ital watermarking, 其中文譯本于2001年由人民郵電出版。Neil F.Johnson等人于2000午l2月出版了Information hiding steganography and watermarking attacks and countermeasures一書,Ingemar Co*等人于2001年10月出版了關(guān)于數(shù)字水印的專著Digital watermarking 。1.2.2數(shù)字水印技術(shù)分類從含水印圖像中的水印是否可見分為可見水印和不可見兩大類2,7 ,從水印生成是否依賴于原始載體來分,可分為非自適應(yīng)水印獨立于原始載體的水印和自適應(yīng)水印。獨立于原始載體的水印
8、可以是隨機產(chǎn)生的、用算法生成、也可以是事先給定的;而自適應(yīng)水印是考慮原始載體的特性并生成的水印。從含水印載體的抗攻擊能力即魯棒性來分,可以分為易碎水印、半易碎水印、魯棒性水印。從水印檢測是否需要原始圖像的參與,而分為明檢測水印私有水印和盲檢測水印公有水印。根據(jù)水印應(yīng)用目的的不同,可分為保護(hù)水印、篡改提示水印容認(rèn)證水印、跟蹤水印數(shù)字指紋、拷貝控制水印、標(biāo)注水印用來注釋載體的拍攝日期等和隱藏通信通信水印等。相應(yīng)的,水印算法也可以分為兩大類:可見水印處理算法和不可見水印處理算法。1.2.3數(shù)字水印的現(xiàn)實應(yīng)用數(shù)字水印的應(yīng)用極為廣泛。主要有以下7種應(yīng)用領(lǐng)域:播送監(jiān)控、所有者識別、所有權(quán)驗證、交易跟蹤、容
9、真?zhèn)舞b別、拷貝控制以及設(shè)備控制。播送監(jiān)控通過數(shù)字水印技術(shù)對識別信息進(jìn)展編碼,替代動態(tài)監(jiān)控技術(shù)。它利用自身嵌入在容中的特點,無需利用播送信號的*些特殊片段,因而能完全兼容于所安裝的模擬或數(shù)字的播送根底設(shè)施。所有者識別文本聲明用于作品所有者識別具有一些局限。而因為水印的不可見性和同其嵌入的作品不可別離性,故水印比文本聲明更有利于使用在所有者識別中。如果作品的用戶擁有水印檢測器,他們就能識別出含水印作品的所有者,即使使用能夠?qū)⑽谋韭暶鞒サ姆椒▉砀膭铀∫惨廊荒軌虮粰z測到。所有權(quán)驗證除了對所有者信息進(jìn)展識別,利用水印技術(shù)對其進(jìn)展驗證也是令人關(guān)注的一項應(yīng)用。人們無須通過所嵌入的水印信息直接證明,而
10、是設(shè)法證明一幅圖像從另一幅得來這一事實。這種系統(tǒng)能夠間接證明有爭議的這幅圖像更有可能為所有者所有而不是攻擊者所有,因為所有者擁有創(chuàng)作出含水印圖像的水印圖像。交易跟蹤利用水印可以記錄作品的*個拷貝所經(jīng)歷的一個或多個交易或者流通過程。容真?zhèn)舞b別如今以難以發(fā)覺的方式對數(shù)字作品進(jìn)展篡改已經(jīng)變得越來越容易。消息真?zhèn)舞b別問題在密碼學(xué)中已有比擬成熟的研究。如果極微小改動就能造成真?zhèn)舞b別印記失效,這種印記便可稱作脆弱水印,通過這種方法,可對容是否被修改良行鑒別??截惪刂迫藗兛梢詫⑺∏度肴葜校c容一同運作。如果每個錄制設(shè)備都裝有一個水印檢測器,設(shè)備就能夠在輸入端檢測到制止拷貝水印的時候禁用拷貝操作。設(shè)備控制拷
11、貝控制實際上屬于更大圍的一個應(yīng)用設(shè)備控制的疇。設(shè)備控制是指設(shè)備能夠在檢測到容中的水印時作出反響,實現(xiàn)自動化運作。1.2.4數(shù)字水印的開展現(xiàn)狀與趨勢數(shù)字水印軟件的開展速度非???,起初僅僅作為圖像處理軟件的插件,而今已經(jīng)開場向大型商業(yè)化軟件開展,加上3D打印機的出現(xiàn),呈現(xiàn)出面向Internet、實體工業(yè)、多種技術(shù)集成的開展趨勢,它的運用和主要開展方向表達(dá)在以下幾個方面:1、結(jié)合智能體技術(shù),開發(fā)水印Agent和自動追蹤標(biāo)志。2、面向電子商務(wù),提供效勞器端的完整性保護(hù)和客戶端的數(shù)據(jù)認(rèn)證。3、建立水印認(rèn)證中心,提供各種網(wǎng)上效勞。4、開發(fā)基于數(shù)字水印技術(shù)的數(shù)字作品電子銷售系統(tǒng),提供完整的平安與保護(hù)機制。5
12、、為各種付費點播效勞,提供基于流技術(shù)的數(shù)字水印產(chǎn)品。6、面向更廣泛的數(shù)字媒體,如三維動畫、數(shù)字地圖等,開發(fā)基于數(shù)字水印的平安保護(hù)產(chǎn)品,保護(hù)3D打印原設(shè)計圖的。7、與密碼技術(shù),尤其是數(shù)字簽名技術(shù)相結(jié)合,構(gòu)造綜合的數(shù)據(jù)平安系統(tǒng)。8、使用各種生物認(rèn)證技術(shù)如指紋、視網(wǎng)膜構(gòu)造專人標(biāo)識水印。數(shù)字水印軟件作為數(shù)據(jù)平安領(lǐng)域中的新生事物,具有很高的技術(shù)含量和很強的生命力,同時也孕育著巨大的商機。我們有理由相信,會有越來越多的有識之士投入到數(shù)字水印技術(shù)的研究和產(chǎn)業(yè)化進(jìn)程中來10。1.3 本論文研究與實現(xiàn)容本課題的工作主要是設(shè)計并實現(xiàn)一個較為完整的數(shù)字水印系統(tǒng),優(yōu)化數(shù)字水印運作流程,提供不可見的數(shù)字水印技術(shù)與實現(xiàn),
13、測試數(shù)字水印的魯棒性。該系統(tǒng)可以滿足針對彩色或者灰度圖片進(jìn)展二值水印的嵌入和提取工作。系統(tǒng)的主要功能有:用戶身份認(rèn)證登錄,密碼平安保護(hù)使用公認(rèn)的RSA加密算法;數(shù)字水印的生成,通過對圖像的根本操作,自定義水印圖片,添加用戶私密信息;數(shù)字水印的嵌入,通過將原始圖像進(jìn)展分塊DCT處理和Zig-Zag排序,然后將數(shù)字水印圖像替換經(jīng)DCT矩陣正交化后的DCT系數(shù)的指定值,最后經(jīng)過逆變換生成嵌入后的水印圖片;數(shù)字水印的提取,對已嵌入水印的圖像同樣采用分塊處理,然后進(jìn)展DCT操作,最后采用特定算法提取出指定區(qū)域的值與整個區(qū)域平均值進(jìn)展比擬,最后經(jīng)替換得出水印的值,并將其復(fù)原成水印圖片;數(shù)字水印的測試,通過
14、計算圖片的NC值歸一化相關(guān)系數(shù)和PSNR值峰值信噪比來進(jìn)展比擬,判斷相似度,檢測魯棒性及不可見性。本文的容安排如下:第一章緒論,簡介工程背景和開展現(xiàn)狀;第二章數(shù)字水印根本原理,介紹了數(shù)字水印以及其原理和分類;第三章數(shù)字水印的關(guān)鍵技術(shù),深入學(xué)習(xí)和研究了一些數(shù)字水印中常用的技術(shù);第四章一種優(yōu)化的數(shù)字水印系統(tǒng)的實現(xiàn),詳細(xì)描述了本水印系統(tǒng)的實現(xiàn)原理和過程;第五章總結(jié)與展望,總結(jié)了本文的工作,同時也指出本系統(tǒng)的缺乏之處和今后研究的方向。 -. - 可修編第二章 數(shù)字水印根本原理2.1概述對數(shù)字水印Digital Watermarking技術(shù)來說,載體對象通常是數(shù)字產(chǎn)品,是保護(hù)對象,而所嵌入的信息則是與該
15、產(chǎn)品相關(guān)的標(biāo)志、購置者或者其他相關(guān)信息。其是將一些標(biāo)識信息(即數(shù)字水印)直接嵌入數(shù)字載體當(dāng)中(包括多媒體、文檔、軟件等)或是間接表示(修改特定區(qū)域的構(gòu)造),不影響原載體的使用價值,也不容易被探知和再次修改,但可以被生產(chǎn)方識別和識別。通過這些隱藏在載體中的信息,可以到達(dá)確認(rèn)容創(chuàng)立者、購置者、傳送隱秘信息或者判斷載體是否被篡改等目的。2.2數(shù)字水印的特點作為數(shù)字水印技術(shù)根本上具有下面幾個方面的特點: 1、平安性:表現(xiàn)為水印能夠抵抗惡意攻擊的能力。數(shù)字水印的信息應(yīng)是平安的,難以篡改或偽造,同時,應(yīng)當(dāng)有較低的誤檢測率,當(dāng)原容發(fā)生變化時,數(shù)字水印應(yīng)當(dāng)發(fā)生變化,從而可以檢測原始數(shù)據(jù)的變更;當(dāng)然數(shù)字水印同樣
16、對重復(fù)添加有較強的抵抗性 2、隱蔽性:數(shù)字水印應(yīng)是不可知覺的,而且應(yīng)不影響被保護(hù)數(shù)據(jù)的正常使用;不會降質(zhì); 3、魯棒性:是指在經(jīng)過常規(guī)信號處理后,數(shù)字水印仍能保持局部完整性并能被準(zhǔn)確鑒別。可能的信號處理過程包括信道噪聲、濾波、數(shù)/模與模/數(shù)轉(zhuǎn)換、重采樣、剪切、位移、尺度變化以及有損壓縮編碼等。主要用于保護(hù)的數(shù)字水印易損水印Fragile Watermarking,這種水印是在容數(shù)據(jù)中嵌入不可見的信息。當(dāng)容發(fā)生改變時,這些水印信息會相應(yīng)地發(fā)生改變,從而可以鑒定原始數(shù)據(jù)是否被篡改。 4、水印容量:是指載體在不發(fā)生形變的前提下可嵌入的水印信息量。嵌入的水印信息必須足以表示多媒體容的創(chuàng)立者或所有者的標(biāo)
17、志信息,或購置者的序列號,這樣有利于解決糾紛,保護(hù)數(shù)字產(chǎn)權(quán)合法擁有者的利益。尤其是隱蔽通信領(lǐng)域的特殊性,對水印的容量需求很大11。2.3數(shù)字水印的根本原理2.3.1數(shù)字水印系統(tǒng)的根本框架粗略來看,數(shù)字水印系統(tǒng)包含嵌入器和檢測器兩大局部。嵌入器至少具有兩個輸入量:一個是原始信息,它通過適當(dāng)變換后作為待嵌入水印信號;另一個就是要在其中嵌入水印的載體作品。水印嵌入器輸出結(jié)果為含水印的載體作品,通常用于傳輸和轉(zhuǎn)錄。之后這件作品或另一件未經(jīng)過這個嵌入器的作品可以作為水印檢測器的輸入量。具體如圖2-1所示:圖 2-1 數(shù)字水印處理系統(tǒng)根本框架通用的水印技術(shù)包含兩個方面:水印的嵌入和水印的提取、檢測,如圖2
18、-2和圖2-3所示。 水印信息原始數(shù)據(jù)密 鑰水印嵌入算法含水印產(chǎn)品圖 2-2 水印信號嵌入水印載體原始數(shù)據(jù)密 鑰水印提取算法水印提取或檢測圖 2-3 水印信號提取或檢測2.4數(shù)字水印的幾種主要算法對于水印嵌入和提取技術(shù),縱觀近幾年來相關(guān)的報道和文獻(xiàn),從整體框架構(gòu)思到具體實現(xiàn)細(xì)節(jié),可以說是百花齊放,設(shè)計思想往往取決于研究人員的研究背景和入手角度。一般來講,主要包括以下幾個方面:1、空間域水印LFTurner與RGvan Schyndel等人的空間域水印算法是最低有效位算法(LSB)與改良算法。由于該算法是通過調(diào)整原始數(shù)據(jù)的最低幾位來隱藏信息,使一般用戶對于隱藏信息,在視覺上很難發(fā)覺。雖然其有較大
19、的信息嵌入量,但作為數(shù)字水印算法,因其根本原理限制,所隱藏的數(shù)字水印信息是極為脆弱的,無法經(jīng)受一些有損的信號處理。Bander等人提出的基于統(tǒng)計的數(shù)字水印方案Patchwork和紋理塊映射編碼方法則是空間域水印技術(shù)的典型設(shè)計。Patchwork任意選擇N對圖像點,增加其一點的亮度的同時,相應(yīng)降低另一點的亮度值。通過這一調(diào)整過程完成水印的嵌入。該算法具有不易發(fā)覺性,并且對于有損壓縮編碼JPEG和一些惡意攻擊處理等具有抵抗力。紋理塊映射編碼方法則是將數(shù)字信息隱藏于數(shù)字圖像的任意紋理局部,其將隱藏信息紋理映射到另一紋理相似的區(qū)域。該算法對于濾波、壓縮和扭轉(zhuǎn)等操作具有抵抗力,但僅適于具有大量任意紋理區(qū)
20、域的圖像。 Pitas和Kaskalis利用Patchwork算法的根本原理,提出了數(shù)字圖像簽名的思想。這種算法可以有效抵抗二次采樣攻擊與JPEG壓縮。2、變換域算法 基于變換域的技術(shù)可以嵌入大量比特數(shù)據(jù)而不會導(dǎo)致可發(fā)覺的缺陷,往往采用類似擴(kuò)頻圖像的技術(shù)來隱藏數(shù)字水印信息。這類技術(shù)一般基于常用的圖像變換,基于局部或是全部的變換,這些變換包括離散余弦變換(discreteconsinetransform,DCT)、小波變換(discrete wavelet transform,DWT)、傅氏變換(fourier transform,F(xiàn)T)以及哈達(dá)馬變換(Hadamard transform)等等
21、。其中基于分塊的DCT是最常用的變換之一,現(xiàn)在所采用的靜止圖像壓縮標(biāo)準(zhǔn)JPEG也是基于分塊DCT的。 最早的基于分塊DCT的一種數(shù)字水印技術(shù)方案是由一個密鑰隨機地選擇圖像的一些分塊,在頻域的中頻上稍稍改變一個三元組以隱藏二進(jìn)制序列信息。選擇在中頻分量編碼是因為在高頻編碼易于被各種信號處理方法所破壞,而在低頻編碼則由于人的視覺對低頻分量很敏感,對低頻分量的改變易于被發(fā)覺。該數(shù)字水印算法對有損壓縮和低通濾波是穩(wěn)健的。 另一種DCT數(shù)字水印算法是首先把圖像分成88的不重疊像塊,在經(jīng)過分塊DCT變換后,即得到由DCT系數(shù)組成的頻率塊,然后隨機選取一些頻率塊,將水印信號嵌入到由密鑰控制選擇的一些DCT系
22、數(shù)中。該算法是通過對選定的DCT系數(shù)進(jìn)展微小變換以滿足特定的關(guān)系,以此來表示一個比特的信息。在水印信息提取時,則選取一樣的DCT系數(shù),并根據(jù)系數(shù)之間的關(guān)系抽取比特信息。 除了上述有代表性的變換域算法外,還有一些變換域數(shù)字水印方法,它們當(dāng)中有相當(dāng)一局部都是上述算法的改良及開展,這其中有代表性的算法是IPodichuk和Zeng Wen-jun提出的算法。他們的方法是基于靜止圖像的DCT變換或小波變換,研究視覺模型模塊返回數(shù)字水印應(yīng)加載在何處及每處可承受的JND(Just Noticeable Difference恰好可發(fā)覺差異)的量值(加載數(shù)字水印的強度上限),這種水印算法是自適應(yīng)的。3、壓縮域
23、算法 基于JPEG、MPEG標(biāo)準(zhǔn)的壓縮域數(shù)字水印系統(tǒng)不僅節(jié)省了大量的完全解碼和重新編碼過程,而且在數(shù)字電視播送及VOD(Video Oil Demand)中有很大的實用價值。相應(yīng)地,水印檢測與提取也可直接在壓縮域數(shù)據(jù)中進(jìn)展。 Hartung提出了一種針對MPEG-2壓縮視頻數(shù)據(jù)流的數(shù)字水印案。雖然MPEG-2數(shù)據(jù)流語法允許把用戶數(shù)據(jù)加到數(shù)據(jù)流中,但是這種方案并不適合數(shù)字水印技術(shù),因為用戶數(shù)據(jù)可以簡單地從數(shù)據(jù)流中去掉,同時在MPEG-2編碼視頻數(shù)據(jù)流中增加用戶數(shù)據(jù)會加大位率,使之不適于固定帶寬的應(yīng)用,所以關(guān)鍵是如何把水印信號加到數(shù)據(jù)信號中,即參加到表示視頻幀的數(shù)據(jù)流中。對于輸入的MPEG-2數(shù)據(jù)
24、流而言,它可分為數(shù)據(jù)頭信息、運動向量(用于運動補償)和DCT編碼信號塊3局部,在Hartung方案中,只有MPEG-2數(shù)據(jù)流最后一局部數(shù)據(jù)被改變,其原理是,首先對DCT編碼數(shù)據(jù)塊中每一輸入的Huffman碼進(jìn)展解碼和逆量化,以得到當(dāng)前數(shù)據(jù)塊的一個DCT系數(shù);其次,把相應(yīng)水印信號塊的變換系數(shù)與之相加,從而得到水印疊加的DCT系數(shù),再重新進(jìn)展量化和Huffman編碼,最后對新的Huffman碼字的位數(shù)n,與原來的無水印系數(shù)的碼字n0進(jìn)展比擬,只在n1不大于n0的時候,才能傳輸水印碼字,否則傳輸原碼字,這就保證了不增加視頻數(shù)據(jù)流位率。該方案有一個問題值得考慮,即引入的水印信號是一種引起降質(zhì)的誤差信號
25、,而基于運動補償?shù)木幋a方案會將一個誤差擴(kuò)散和累積起來,為解決此問題,該算法采取了漂移補償?shù)姆桨竵淼窒蛩⌒盘柕囊胨鸬囊曈X變形。4、NEC算法 該算法由NEC實驗室的Co*等人提出,該算法在數(shù)字水印算法中占有重要地位,其實現(xiàn)方法是,首先以密鑰為種子來產(chǎn)生偽隨機序列,該序列具有高斯N(0,1)分布,密鑰一般由作者的標(biāo)識碼和圖像的哈希值組成,其次對圖像做DCT變換,最后用偽隨機高斯序列來調(diào)制(疊加)該圖像除直流分量外的1000個最大的DCT系數(shù)。該算法具有較強的魯棒性、平安性、透明性等。由于采用特殊的密鑰,故可防止IBM攻擊,而且該算法還提出了增強水印魯棒性和抗攻擊算法的重要原則,即水印信號
26、應(yīng)該嵌人源數(shù)據(jù)中對人感覺最重要的局部,這種水印信號由獨立同分布隨機實數(shù)序列構(gòu)成,且該實數(shù)序列應(yīng)具有高斯分布N(0,1)的特征。隨后Podilchuk等利用人類視覺模型又對該算法進(jìn)展了改良,從而提高了該算法的魯棒性、透明性等。5、生理模型算法 人的生理模型包括人類視覺系統(tǒng)HVS和人類聽覺系統(tǒng)HAS。該模型不僅被多媒體數(shù)據(jù)壓縮系統(tǒng)利用,同樣可以供數(shù)字水印系統(tǒng)利用。它們的根本思想均是利用從視覺模型導(dǎo)出的JND描述來確定在圖像的各個局部所能容忍的數(shù)字水印信號的最大強度,從而能防止破壞視覺質(zhì)量,也就是說,利用視覺模型來確定與圖像相關(guān)的調(diào)制掩模,然后再利用其來插人水印。這一方法同時具有好的透明性和魯棒性。
27、2.5數(shù)字水印的分類1、按特性劃分按水印的特性可以將數(shù)字水印分為魯棒性數(shù)字水印和易損性數(shù)字水印兩類。魯棒性數(shù)字水印主要用于在數(shù)字作品中標(biāo)識著作權(quán)信息,利用這種水印技術(shù)在多媒體容的數(shù)據(jù)中嵌入創(chuàng)立者、所有者的標(biāo)示信息,或者嵌入購置者的標(biāo)示即序列號。在發(fā)生糾紛時,創(chuàng)立者或所有者的信息用于標(biāo)示數(shù)據(jù)的所有者,而序列號用于追蹤違反協(xié)議而為盜版提供多媒體數(shù)據(jù)的用戶。用于保護(hù)的數(shù)字水印要求有很強的魯棒性和平安性,除了要求在一般圖像處理如:濾波、加噪聲、替換、壓縮等中生存外,還需能抵抗一些惡意攻擊。 易損性水印,與魯棒水印的要求相反,易損數(shù)字水印主要用于完整性保護(hù),這種水印同樣是在容數(shù)據(jù)中嵌入不可見的信息。當(dāng)容
28、發(fā)生改變時,這些水印信息會發(fā)生相應(yīng)的改變,從而可以鑒定原始數(shù)據(jù)是否被篡改。易損水印應(yīng)對一般圖像處理如:濾波、加噪聲、替換、壓縮等有較強的免疫能力魯棒性,同時又要求有較強的敏感性,即:既允許一定程度的失真,又要能將失真情況探測出來。必須對信號的改動很敏感,人們根據(jù)易損水印的狀態(tài)就可以判斷數(shù)據(jù)是否被篡改正。2、按水印所附載的媒體劃分按水印所附載的媒體,我們可以將數(shù)字水印劃分為圖像水印、音頻水印、視頻水印、文本水印以及用于三維網(wǎng)格模型的網(wǎng)格水印等。隨著數(shù)字技術(shù)的開展,會有更多種類的數(shù)字媒體出現(xiàn),同時也會產(chǎn)生相應(yīng)的水印技術(shù)。3、按檢測過程劃分按水印的檢測過程可以將數(shù)字水印劃分為明文水印和盲水印。明文水
29、印在檢測過程中需要原始數(shù)據(jù),而盲水印的檢測只需要密鑰,不需要原始數(shù)據(jù)。一般來說,明文水印的魯棒性比擬強,但其應(yīng)用受到存儲本錢的限制。目前學(xué)術(shù)界研究的數(shù)字水印大多數(shù)是盲水印。4、按容劃分按數(shù)字水印的容可以將水印劃分為有意義水印和無意義水印。有意義水印是指水印本身也是*個數(shù)字圖像如商標(biāo)圖像或數(shù)字音頻片段的編碼;無意義水印則只對應(yīng)于一個序列號。有意義水印的優(yōu)勢在于,如果由于受到攻擊或其他原因致使解碼后的水印破損,人們?nèi)匀豢梢酝ㄟ^視覺觀察確認(rèn)是否有水印。但對于無意義水印來說,如果解碼后的水印序列有假設(shè)干碼元錯誤,則只能通過統(tǒng)計決策來確定信號中是否含有水印。5、按水印隱藏的位置劃分按數(shù)字水印的隱藏位置,
30、我們可以將其劃分為時空域數(shù)字水印、頻域數(shù)字水印、時/頻域數(shù)字水印和時間/尺度域數(shù)字水印。 時空域數(shù)字水印是直接在信號空間上疊加水印信息,而頻域數(shù)字水印、時/頻域數(shù)字水印和時間/尺度域數(shù)字水印則分別是在DCT變換域、時/ 頻變換域和小波變換域上隱藏水印。 隨著數(shù)字水印技術(shù)的開展,各種水印算法層出不窮,水印的隱藏位置也不再局限于上述四種。應(yīng)該說,只要構(gòu)成一種信號變換,就有可能在其變換空間上隱藏水印。 -. -第三章數(shù)字水印的關(guān)鍵技術(shù)3.1公鑰密碼算法RSA1976年Diffle和Hellman發(fā)表了密碼學(xué)的新方向一文,提出了公鑰密碼算法。它不僅使對稱密碼的密鑰分發(fā)困難得到有效解決,而且可用于數(shù)字水
31、印,為網(wǎng)絡(luò)時代的信息平安提供新的理論和技術(shù)根底。公鑰加密體制系統(tǒng)如圖3-1所示:圖3-1 公鑰密碼系統(tǒng)本系統(tǒng)運用基于數(shù)論的互素數(shù)、指數(shù)模和模逆元計算的RSA算法。大數(shù)的因子的分解是RSA的平安性的保證,但同時并沒有從理論上證明破譯RSA的難度與大數(shù)分解難度等價。即RSA的重大缺陷是無法從理論上把握它的性能如何,而且密碼學(xué)界多數(shù)人士傾向于因子分解而不是NPC問題。任何算法都有其自身的缺陷,RSA的缺點主要有:A)產(chǎn)生密鑰很麻煩,受到素數(shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密。B)其速度較慢。由于RSA算法涉及大數(shù)的高次冪模運算,計算量很大。這種算法出現(xiàn)于1978年,它是第一個既能用于數(shù)據(jù)加密也能用
32、于數(shù)字簽名的算法。它易于理解和操作,也很流行。算法的名字以創(chuàng)造者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。但RSA的平安性一直未能得到理論上的證明。RSA的平安性依賴于大數(shù)分解。公鑰和私鑰都是兩個大素數(shù) 大于 100個十進(jìn)制位的函數(shù)。據(jù)猜想,從一個密鑰和密文推斷出明文的難度等同于分解兩個大素數(shù)的積。為了計算兩個密鑰,給定兩個大素數(shù),p 和q ,并計算。計算:n = p * q、r=(p-1)*(q-1)然后隨機選擇加密密鑰e,要求 e 和 r互質(zhì),即互素數(shù)。再然后,利用歐幾里得(Euclid)擴(kuò)展算法計算解密密鑰d, 它滿足e * d = 1 (
33、 mod r)其中,e即為公鑰,d即為私鑰。e和n是公開的,p和q在加解密過程中不再需要,但絕不能泄露,應(yīng)該丟棄。給定加密信息明文m二進(jìn)制表示時,首先把m分成等長數(shù)據(jù)塊 m1 ,m2,., mi ,塊長s,其中 s應(yīng)小于n的位數(shù),對應(yīng)的加密密文是:ci = mie ( mod n ) ( 3-1)得到相應(yīng)的密文塊,加密后的密文m由一樣長度的密文塊ci組成。解密時作如下計算:mi = cid ( mod n )(3-2)RSA 可用于數(shù)字簽名時,簽名是用 (3-1) 式,驗證使用(3-2)式。具體操作時考慮到平安性和 m信息量較大等因素,一般是先作 HASH 運算。破譯者要解密,就要根據(jù)的e和n
34、,計算d。而要計算d,應(yīng)知道r,因而必須知道p和q。但是,如果n是一個600位的大整數(shù),如何能在有生之年將它分解為兩個素數(shù)因子呢,據(jù)研究,目前最快的計算機也無法做到。這就是RSA的平安所性依賴的。但是否等同于大數(shù)分解一直未能得到理論上的證明,因為沒有證明破解RSA就一定需要作大數(shù)分解。假設(shè)存在一種無須分解大數(shù)的算法,那它肯定可以修改成為大數(shù)分解算法。目前,RSA的一些變種算法已被證明等價于大數(shù)分解。不管怎樣,分解n是最顯然的攻擊方法。現(xiàn)在,人們已能分解140多個十進(jìn)制位的大素數(shù)。因此,模數(shù)n必須選大一些,因應(yīng)就具體適用情況而定。3.2數(shù)字圖像置亂技術(shù)置亂技術(shù)是隨著信息的平安和被重視而開展起來的
35、圖像加密技術(shù)。它可以看作是從經(jīng)典密碼學(xué)中的單表系統(tǒng)擴(kuò)展而來的。數(shù)字圖像置亂即是一種加密方法,合法使用者可以自由控制算法的選擇,參數(shù)的選擇以及使用隨機數(shù)技術(shù),到達(dá)非法使用者無法破譯圖像容的目的12。3.2.1數(shù)字圖像置亂技術(shù)的根本概念經(jīng)典密碼學(xué)對于一維數(shù)據(jù)流提供了很好的加解密算法,其中如DES、RSA等著名密碼系統(tǒng)得到了廣泛的應(yīng)用,但是這些系統(tǒng)往往無視數(shù)字圖像的一些特殊性質(zhì)如二維的自相似性、大數(shù)據(jù)量等。圖像置亂技術(shù)早期是對模擬圖像的位置空間做置換,可以看作從經(jīng)典密碼學(xué)中的單表系統(tǒng)擴(kuò)展而來。對于數(shù)字化的圖像,置亂過程不僅可以在數(shù)字圖像的空域(色彩空間、位置空間)上進(jìn)展,還可以在數(shù)字圖像的頻域上進(jìn)展
36、。數(shù)字圖像置亂即是對數(shù)字圖像的一種加密方法,它使得合法使用者可以自由控制算法的選擇、參數(shù)的選擇以及使用隨機數(shù)技術(shù),這就給攻擊者帶來非法破譯的難度,主要表現(xiàn)在統(tǒng)計分析各種可能的組合的巨大計算量。此外,近年興起的信息隱藏以及數(shù)字水印技術(shù),從不同角度對數(shù)字圖像的隱藏與偽裝、著作權(quán)保護(hù)等問題提出了一些解決方法,本文提出的數(shù)字水印算法把圖像置亂技術(shù)和水印技術(shù)結(jié)合起來,通過產(chǎn)生置亂算法和水印算法的密鑰來保護(hù)水印原始數(shù)據(jù)和跟蹤產(chǎn)品的流動等。數(shù)字圖像的置亂變換就是一種可逆變換,通過對數(shù)字圖像的位置或灰度級等做變換,來擾亂圖像,以到達(dá)在一定程度上迷惑第三者的目的。如果不知道所使用的置亂變換算法,很難恢復(fù)出原始圖
37、像。置亂算法圖3-1 原始圖像和置亂后的圖像圖3-1給出了一個通過象素置亂算法得到的置亂圖像和原始圖像的比擬。3.2.2 最正確置亂度文獻(xiàn)6提出了最正確置亂度的定義,通過計算置亂度判斷圖像置亂的程度。圖像中的任意兩個像素的距離可以用公式表示如下: (3-3)式中(*i,yi),(*j.yj)分別表示像素的空間坐標(biāo)值,如果將圖像以矩陣形式表示,相當(dāng)于矩陣元素的行和列的值。*矩陣元素和它相鄰的元素之間的距離稱為一階距離,用 Dl(i,j) 表示,將*一矩陣元素和它相距一個元素的元素之間的距離稱為二階距離,用D2(i,j) 表示,同理相距n個元素的元素之間的距離稱為n階距離、用Dn(i,j)表示。定
38、義1:一階置亂度是圖像I中所有像素的一階距離的均值和方差之比,用公式表示如下:(3-4)從公式3-4可以看出,一階距離的均值比擬大表示置亂后相鄰像素之間的距離變大了也即相鄰像素被分散了,階距離的方差比擬小表示距離變化程度比擬集中,所以二者的比值越大表示置亂度越大,即原來完整的圖像的像素被均勻地打散的程度越大。直觀地看,置亂度大表示一幅圖像中原先空間距離小的像素對之間的距離變大了。因為一階置亂度只定義了原來相鄰像素對之間的距離變化,還缺乏以十分準(zhǔn)確地描繪置亂程度,為此將一階置亂度的公式推廣,引出n階置亂度的計算公式。(3-5)公式3-5過引入一個加權(quán)系數(shù)ak來表達(dá)不同階距離在置亂度中所起的作用,
39、即首先考慮將相距最近的像素對盡量分散開,然后再考慮其它距離較大的像素對12。3.2.3Arnold變換Arnold變換是在Arnold遍歷理論研究中提出的一種變換,俗稱描臉變換。定義2 設(shè)有單位正方形上的點(*,y),將點(*,y)變到另一點 的變換為:此變換稱作貓變換。公式3-6定義的變換實際上是一種點的位置移動,該變換是一一對應(yīng)的,且具有周期性。此外,這種變換可以迭代地做下去。需要注意的是,Arnold變換具有周期性,即當(dāng)?shù)?一步時,將從新得到原始圖像。Dyson和Falk分析了離散Arnold變換的周期性,給出了對于任意 ,Arnold變換的周期 ,這也許是迄今最好的結(jié)果了。3.2.
40、4基于Arnold變換的數(shù)字圖像位置置亂對于數(shù)字化圖像而言,我們所說的位置移動實際上是對應(yīng)點的灰度值或者RGB顏色值的移動,即將原來點處象素對應(yīng)的灰度值或RGB顏色值移動至變換后的點處。如果我們對一個數(shù)字圖像迭代地使用離散化的Arnold變換,即將左端輸出的 作為下一次Arnold變換的輸入,可以重復(fù)這個過程一直作下去,當(dāng)?shù)?一步時,如果出現(xiàn)的圖像符合我們對圖像的雜亂無章標(biāo)準(zhǔn)的要求,這即是一副置亂了的圖像。圖3-2即是經(jīng)Arnold變換置亂后的圖像,我們可以看到對圖像只需進(jìn)展幾次Arnold變換迭代,原圖像就已經(jīng)雜亂無章了,置亂效果非常好。(a) 原始圖像 (b) 一次Arnold變換后的
41、圖像(c) 三次Arnold變換后的圖像(d) 五次Arnold變換后的圖像圖3-2 Arnold變換置亂3.3 DCT域數(shù)字水印3.3.1 DCT 變換概述離散余弦變換是數(shù)字圖像處理以及信號處理常用的一種正交變換,具有壓縮比高、誤碼率小、信息集中能力和計算復(fù)雜性綜合效果較好等優(yōu)點,是圖像編碼的核心技術(shù)之一13,14。二維離散DCT 變換及IDCT 反變換公式如下:(3-7)DCT逆變換(3-8)圖像二維DCT 變換N 取8 或16有許多優(yōu)點:圖像信號經(jīng)過變換后,變換系數(shù)幾乎不相關(guān),經(jīng)過反變換重構(gòu)圖象信道誤差和量化誤差將像隨機噪聲一樣分散到塊中的各個像素中去,不會造成誤差累積,并且變換能將數(shù)據(jù)
42、塊中的能量壓縮到為數(shù)不多的局部低頻系數(shù)中去即DCT 矩陣的左上角。對于給定圖像存在兩種DCT 變換方法:一種是把圖像看成一個二維矩陣直接對其進(jìn)展DCT 變換,然后嵌入水印,Co*采用此種方法;另一種方法是與JPEG 壓縮標(biāo)準(zhǔn)相統(tǒng)一,先把圖像分成88 的不同小塊,再分別對每一塊進(jìn)展DCT 變換,進(jìn)而嵌入水印。3.3.2 DCT 數(shù)字圖像水印根本特點不同的應(yīng)用對數(shù)字水印的要求不盡一樣,一般認(rèn)為數(shù)字水印應(yīng)具有如下特點:1、透明性:對于以模擬方式存儲和分發(fā)的信息如電視節(jié)目,或是以物理形式存儲的信息如報刊、雜志,用可見的標(biāo)志就足以說明其所有權(quán)。但在數(shù)字方式下,標(biāo)志信息極易被修改或擦除。因此應(yīng)根據(jù)多媒體信
43、息的類型和幾何特性,利用用戶提供的密鑰將水印隱藏到一系列隨機產(chǎn)生的位置中,使人無法發(fā)覺。2、魯棒性:水印必須對一般的信號處理操作如濾波、平滑、增強和有失真壓縮等、刪除攻擊和迷惑攻擊等具有魯棒性。除非對數(shù)字水印具有足夠的先驗知識,任何破壞和消除水印的企圖都將嚴(yán)重破壞多媒體信息的質(zhì)量。3、 不可檢測性:包括兩方面的含義:1水印信息與原始載體數(shù)據(jù)具有一致的特性,使攻擊者無法通過信息分析手段判斷多媒體數(shù)據(jù)中是否存在水印;2水印信息本身具有不可統(tǒng)計性,防止攻擊者通過統(tǒng)計多個多媒體數(shù)據(jù)進(jìn)而分析存在的相似性來進(jìn)展攻擊。4、 平安性:指水印嵌入算法具有較強的抵抗攻擊的能力,能夠承受一定程度的人為攻擊而使水印不
44、會被破壞。5、自恢復(fù)性:經(jīng)過一些操作或者變換之后,可能會使原始載體數(shù)據(jù)產(chǎn)生較大的破壞,如果從留下的片斷數(shù)據(jù)能夠恢復(fù)信號,就是所謂的自恢復(fù)性。3.3.3 DCT 數(shù)字圖像水印根本特點3.4數(shù)字水印的模式識別3.4.1、模式識別的根本概念模式識別就是機器識別,計算機識別或機器自動識別,目的在于讓機器自動識別事物。3.4.2、數(shù)字水印的檢測方法:基于假設(shè)檢驗的水印檢測設(shè)要檢驗的作品*屬于一下兩種情況之一:H0: *=*H1: *=* + w即假設(shè)H0假定接收到的作品*中沒有水印,稱之為零假設(shè)。假設(shè)H1假定接收到的作品*中嵌入水印w,稱之為備擇假設(shè)。滿足假設(shè)H0的作品全體組成集合R0,滿足假設(shè)H1的作
45、品全體組成集合R1。假設(shè)檢驗的方法,顧名思義,就是利用承受到的載體作品對假設(shè)進(jìn)展檢驗,從而判斷假設(shè)檢驗是否成立。本章研究了實現(xiàn)的數(shù)字水印系統(tǒng)中用到的一些關(guān)鍵技術(shù)和對其中一小點的擴(kuò)展,在學(xué)習(xí)和研究這些技術(shù)的同時,也為本文后續(xù)的工作做了充足的根底準(zhǔn)備,在后期實現(xiàn)的過程中,也更深入的了解了這些技術(shù),并做了自己的優(yōu)化。 -. -第四章 一種優(yōu)化的數(shù)字水印系統(tǒng)的實現(xiàn)4.1 數(shù)字水印系統(tǒng)說明本文提出了一種優(yōu)化的數(shù)字水印算法,及基于系數(shù)關(guān)系的DCT域數(shù)字圖像水印算法。在嵌入的過程中,優(yōu)化嵌入容,提高原圖片的不可見性;在提取過程中,優(yōu)化提取判定條件,提高水印圖片的魯棒性。算法作用域在DCT 變換后的中頻域,通
46、過算法的處理在DCT系數(shù)里嵌入二值水印,系統(tǒng)能夠支持彩色和灰度兩種格式的BMP圖像文件,并實現(xiàn)數(shù)字圖像的隱藏,且水印的提取完全是盲提取,不需要原始圖像,具有較強的平安性和魯棒性。4.2 數(shù)字水印系統(tǒng)優(yōu)化設(shè)計普通數(shù)字水印系統(tǒng)僅僅包含對圖像的嵌入以及提取,用戶數(shù)字水印系統(tǒng)分為6個模塊,分別為用戶身份驗證模塊、采集圖像等數(shù)據(jù)載體和預(yù)處理模塊、數(shù)字水印嵌入模塊、數(shù)字水印檢測模塊、水印提取以及水印測試模塊。充分分析用戶的需求,彌補了當(dāng)下系統(tǒng)人機操作不協(xié)調(diào)的缺陷。4.2.1 用戶身份驗證首先用戶只有獲得授權(quán)方能進(jìn)入系統(tǒng),其次對已授權(quán)的用戶的身份加以驗證和加密保護(hù)。不僅保證了用戶的信息平安,而且可以實現(xiàn)用戶
47、的分配。圖4-1 用戶身份驗證用例圖4.2.2采集圖像與預(yù)處理系統(tǒng)支持?jǐn)?shù)據(jù)載體的采集,查看,收藏,預(yù)處理等根本操作,優(yōu)化當(dāng)前系統(tǒng)用戶對初始圖片的采集,修改的缺陷。圖4-2 預(yù)處理用例圖4.2.3數(shù)字水印的生成系統(tǒng)提供用戶生成自定義水印信息的功能,方便用戶添加自己的個人信息或者是信息。用戶可通過簡單的操作,實現(xiàn)自己的水印,而不需借助其他圖像處理工具。圖4-3水印生成用例圖4.2.4數(shù)字水印的嵌入通過水印嵌入算法,實現(xiàn)將水印信息與載體數(shù)據(jù)的融合,形成水印載體數(shù)據(jù)。圖4-4水印嵌入用例圖4.2.5數(shù)字水印提取對給定的圖像進(jìn)展水印的提取,采用盲檢測技術(shù),有水印則提取出水印,無則提取為空。實現(xiàn)將水印信息
48、與載體信息別離,水印信息的可視化,可操作話。圖4-5水印提取用例圖4.2.6數(shù)字水印魯棒性檢測多角度,多方面對數(shù)字水印進(jìn)展測試,通過各類有意或無意的修改,結(jié)合預(yù)處理的操作,對載體圖像的亮度,大小,比照度進(jìn)展修改,然后再提取。測試提取結(jié)果與原圖片之間的差異。圖4-6水印檢測用例圖4.3 數(shù)字水印系統(tǒng)優(yōu)化算法本系統(tǒng)核心是離散預(yù)先變換DCT,運用基于實數(shù)的正交變換,實現(xiàn)圖像的能量集中特性。但同時不局限于此,在原理論的根底上,優(yōu)化改善DCT矩陣的生成、DCT中頻確實定、DCT系數(shù)的替換、統(tǒng)計均值比擬算法規(guī)則等多個方面。提高水印系統(tǒng)的不可見性和魯棒性等根本要求,不可見性就是在載體圖像中嵌入水印圖像后不能
49、被人的視覺系統(tǒng)覺察或注意到,而魯棒性就是能夠從嵌入水印后的載體圖像中提取出盡可能完整的水印圖像,而不因圖像數(shù)據(jù)的*種改動而導(dǎo)致水印信息喪失。由于人類視覺系統(tǒng)對圖像頻域空間的中低頻信息不敏感,所以,本文將水印圖像的中低頻DCT系數(shù)隱藏到載體圖像的中頻DCT系數(shù)中。為了提高水印的魯棒性,先對載體圖像分割成8*8的像素塊,然后將水印圖像分別嵌入到每一塊當(dāng)中;提取時從帶水印圖像的每一塊中提取出水印圖像,再計算這些水印圖像的平均值從而得到最終的水印圖像。對于彩色圖像的B分量即藍(lán)色分量按照這種方法進(jìn)展。4.3.1數(shù)字水印采集及預(yù)處理1、C#語言及其窗體程序,良好的用戶體驗?zāi)壳暗乃∠到y(tǒng)多以matlab為根
50、底,調(diào)用其自身所含圖像類,進(jìn)展數(shù)字水印的研究與系統(tǒng)實現(xiàn)。本系統(tǒng)采用微軟框架,以C#語言為根底,完成優(yōu)秀的界面設(shè)計,提高用戶體驗感受和操作舒適度。2、bitmap類和BitmapData類圖像處理類微軟C#語言框架對于圖像處理提供bitmap類 ,BitmapData類兩大主要類,可方便實現(xiàn)圖像的二值化存儲,以及圖像數(shù)據(jù)調(diào)入存操作,并提供Scan0屬性獲取位圖中第一個像素數(shù)據(jù)的地址,方便對圖像的數(shù)據(jù)進(jìn)展定位和掃描。是圖像處理中公認(rèn)的較為方便的類。對圖像亮度調(diào)節(jié)主要代碼如下:BitmapData data = b.LockBits(newRectangle(0, 0, width, height)
51、, ImageLockMode.ReadWrite, Pi*elFormat. Format24bppRgb);unsafe byte* p = (byte*)data.Scan0;int offset = data.Stride - width * 3;for (int y = 0; y height; y+) for (int * = 0; * width; *+) for (int i = 0; i 3; i+) pi* = pi + degree;if (degree 0) pi = (byte)Math.Min(255, pi*); / i p += 3; / * p += offs
52、et; / y b.UnlockBits(data);return b;catch returnnull;4.3.2 水印圖片生成算法首先確定水印圖像的背景,可由系統(tǒng)自動默認(rèn)選擇或由用戶提供,然后對文字和圖像進(jìn)展嵌入,生成水印圖片。具體步驟如下:1確定水印圖像的默認(rèn)圖片。2添加文字信息和圖片信息,并選擇插入的位置。3進(jìn)展文字和圖片的嵌入。主要圖片生成算法:privateImage GetTe*tWatermark(string te*t) Brush brush = newSolidBrush(m_fontColor);SizeF size;using (Graphics g = Graphi
53、cs.FromImage(m_image) size = g.MeasureString(te*t, m_font); Bitmap bitmap = newBitmap(int)size.Width, (int)size.Height); bitmap.SetResolution(m_image.HorizontalResolution, m_image.VerticalResolution);using (Graphics g = Graphics.FromImage(bitmap) g.DrawString(te*t, m_font, brush, 0, 0); return bitma
54、p; 4.3.3 數(shù)字水印嵌入算法水印的嵌入分五大步進(jìn)展,概括而言,首先對源圖像進(jìn)展分塊處理,而后進(jìn)展DCT變換,通過矩陣乘法得到新的DCT系數(shù)矩陣,接著使用Zig-Zag數(shù)組對各塊DCT系數(shù)進(jìn)展掃描,使其按Zig-Zag數(shù)組的順序排列,之后用水印圖像數(shù)據(jù)替換符合條件的DCT系數(shù),從而保證了嵌入水印后的圖像的不可見性和一定的魯棒性。水印嵌入步驟如下:1將給定的原始圖像進(jìn)展分塊,并對每一塊進(jìn)展DCT操作。2使用貓臉置亂對給定的二值水印圖像進(jìn)展置亂操作,置亂次數(shù)由用戶輸入,然后進(jìn)展二值序列化,將二維圖像數(shù)據(jù)轉(zhuǎn)化為一維序列W=wc,其中c=1,2,3,C,C=W*H,方法為:判斷像素像素平均值,如果
55、像素平均值大于128,則為1,否則為03在各個DCT分塊中,將上一步生成的二值水印序列嵌入進(jìn)去,方法為:采用Zig-Zag進(jìn)展排序,對每個DCT塊數(shù)據(jù)進(jìn)展重新分配,然后從第15個系數(shù)開場選取16個系數(shù)即:Di(j),j=15,1630,并做替換操作,每替換完一個二值序列的值就操作下一個DCT塊。替換方法為:如果wc=1,則Di(j)=ma*(Di),否則Di(j)=min(Di)。4對圖像進(jìn)展逆離散余弦IDCT操作,復(fù)原圖像,即得到嵌入水印之后的圖像。5對于原始圖像和嵌入后的圖像之間的差異程度,本文采用PSNR來客觀的評價,從而評價此水印算法的性能,計算公式為: 4-1主要嵌入算法的代碼如下:
56、/ DCT公式/ DCT變換的具體算法/ 產(chǎn)生DCT的余弦矩陣/維數(shù)個數(shù)/DCT的余弦矩陣publicdouble, GenerateDCTmatri*(int N) int i, j;int Size; Size = N;double alpha;/系數(shù)double fenMu;double, DCTCoeff = newdoubleSize, Size;for (j = 0; j = Size - 1; j+) DCTCoeff0, j = Math.Sqrt(1 / (double)Size); alpha = Math.Sqrt(2 / (double)Size);/C(u) fenM
57、u = (double)2 * Size;for (j = 0; j = Size - 1; j+)for (i = 1; i = Size - 1; i+) DCTCoeffi, j = alpha * Math.Cos(2 * j + 1) * i * 3.14159) / fenMu); return (DCTCoeff); / 分塊DCT變換/圖像圖片/返回一個color對象的二維數(shù)組publicvoid DCTBlocksTrans() double, temp = newdouble8, 8;double, BlockDCTkernel = newdouble3,;for (int
58、 k = 0; k 3; k+) BlockDCTkernelk = newdouble8, 8;for (int i = 0; i blocks.H; i+) for (int j = 0; j blocks.W; j+) for (int l = 0; l =avg(Di),則wc=1,否則wc=0。2對于提取到的二值序列進(jìn)展反置亂,置亂次數(shù)由用戶輸入,即得到水印圖像。3為了衡量提取出的水印和原始水印之間的相似度,本文采用歸一化相似度計算公式來評價水印算法的性能,計算公式為: 4-2主要的提取代碼如下:/二值水印的提取publicvoidE*tractMain() double ma*;d
59、ouble min;double avg;int inde* = Position;double Src_Zig;int count = 0;for (int i = 0; i waterImg _One.Length; i += blocks.W * blocks.H) for (int j = 0; j blocks.H; j+) for (int k = 0; k blocks.W; k+) if (count = avg ) waterImg_Onecount+ = 1; else waterImg_Onecount+ = 0; blocks.Blocksj, k.ColorDCT0 = IZigZagSort(Src_Zig
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北省恩施市2025-2026學(xué)年上學(xué)期期末九年級數(shù)學(xué)試卷(無答案)
- 廣東省湛江市雷州市2025-2026學(xué)年上學(xué)期期末九年級數(shù)學(xué)試卷(無答案)
- 文職人員題庫及答案
- 北京警察學(xué)院《書法》2024 - 2025 學(xué)年第一學(xué)期期末試卷
- 二年級語文上冊四單元復(fù)習(xí)卷及答案
- 廣東事業(yè)編招聘2022年考試模擬試題及答案解析36
- 幼兒園大班健康教案23篇
- 分部工程驗收技術(shù)要點
- 超聲波探傷檢測技術(shù)操作要領(lǐng)
- 威寧2022年事業(yè)單位招聘考試模擬試題及答案解析14
- 高三英語一輪復(fù)習(xí)北師大版選擇性單詞默寫本
- JB-T 10833-2017 起重機用聚氨酯緩沖器
- 項目二 模塊四 波音737-800飛機乘務(wù)員控制面板及娛樂系統(tǒng)的操作方法課件講解
- 2022年新疆維吾爾自治區(qū)新疆生產(chǎn)建設(shè)兵團(tuán)中考數(shù)學(xué)試題(無答案)
- 福建省福州市2023-2024學(xué)年高一上學(xué)期期末考試物理試卷2
- 鋼結(jié)構(gòu)生產(chǎn)工藝流程
- 2022-2023學(xué)年四川省宜賓市高一(下)期末數(shù)學(xué)試卷(含解析)
- 教你填《廣東省普通高中學(xué)生檔案》精編版
- 大學(xué)生兼職家教個人簡歷
- 轉(zhuǎn)動極板技術(shù)簡介
- 《人類行為與社會環(huán)境》課件
評論
0/150
提交評論