本站小編為你精心準備了數字水印與仿真參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
摘要:隨著網絡技術和數字技術的發展,數字水印在版權保護、數據鑒別、數字產品認證領域有著廣泛的應用前景。本文介紹了數字水印的基本原理,并選取了離散余弦變換(DCT)算法在MATLAB環境下實現了數字水印的嵌入和提取。關鍵詞:水印;DCT算法matlab;仿真1引言數字技術的迅速發展以及互聯網的普及給人們的工作和生活帶來了極大的便利,但是也正是由于數字化多媒體信息本身具有的易于加工、復制簡單的優點,使其極其容易被非法拷貝或復制,從而導致數字產品的版權、完整性得不到保證。以將特定的數字標志隱藏在數字作品中為特征的數字水印技術在此方面發揮了巨大的作用。2數字水印的基本原理從圖像處理的角度來看,嵌入水印信號可以視為在強背景下疊加一個弱信號,只要疊加的水印信號強度低于人類視覺模型HVS(HumanVisionSystem)的對比度門限,HVS就無法感到信號的存在。從數字通信的角度看,水印嵌入可理解為在一個寬帶信道(載體圖像)上用擴頻技術傳輸一個窄帶信號(水印信號)。盡管水印信號具有一定的能量,但分布到信道中任一頻率上的能量是難以檢測到的。水印的檢測就相當于是一個有噪聲信道中弱信號的檢測問題。3基于MATLAB的仿真算法(1)嵌入算法①將512×512像素的宿主圖像按8×8像素進行分塊,再對每一個分塊進行DCT變換;②將64×64像素的水印圖像先轉換為8位灰度圖像(像素元素取值為0~255),再把圖像歸一化并取整;③生成兩個一行八列的矩陣作為密鑰;④設定一個合適的尺度因子;⑤按公式W''''=W+α×K進行加性疊加,嵌入原則是當水印圖像的圖像元素為0時,用K1矩陣加密。為1時用K2加密;⑥對新的DCT系數矩陣進行IDCT變換,得到嵌入水印的圖像。(2)提取算法①對含水印的圖像先進行8×8像素的分塊,并進行DCT變換:②從每一個分塊圖像中把我們已知的嵌入位置中的DCT分量的值提取出來。將得到的8個數值分別與密鑰矩陣進行相關計算,與K1的相關度高就用K1解碼,即像素元素的值為0,同理K2解碼的值為1;⑧得到的矩陣轉換成的圖即為提取出的水印圖。4仿真結果為了讓水印圖像具有良好的使用價值我們首先要確定一個合適的尺度因子a因子。a決定了水印的嵌入深度,a越大嵌入的水印越深,水印的魯棒性越好,可見性越差,即水印圖像有明顯的失真,產生塊效應,也就沒有什么使用價值了;如果嵌入強度因子a過小,雖然此時的嵌有水印的圖像和原始公開圖像相似度非常高,但水印的魯棒性很差。圖4.1是本次仿真中所用到的水印圖像與載體圖像。當a=50時嵌入水印的圖像與提取的水印圖像如下圖所示:由上面的仿真結果圖可以看出算法嵌入的含水印圖像具有較高的不可感知性,幾乎看不出與載體圖像的差別:而基于這種算法提取的水印圖像非常清楚。在未收到任何干擾的情況下與水印圖像沒有差別。