clc
[a type]=myfunction(0.7,0);/a嵌入強度,type攻擊類型
x=imread('E:\ori1.bmp');
subplot(2,3,1);
image(x);
title('初始待加入水印圖du像');
w=imread('E:\water1.bmp');
subplot(2,3,2);
imshow(w);
title('待用水印圖像');
w=w/255;
[cA1,cH1,cV1,cD1]=dwt2(x,'haar');% 對原始圖像x進行小波分解zhi
[cA2,cH2,cV2,cD2]=dwt2(cA1,'haar');
[cA3,cH3,cV3,cD3]=dwt2(cA2,'haar');
title('加入水印後的圖像');
%(1)放大兩倍的操作,(當然提取之前要先縮小兩倍)
xxx1=imresize(Y,2,'bicubic');
xxx2=imresize(xxx1,1/2,'bicubic');
Y= double(xxx2);
end
%(8) JPEG壓縮
if type==8
A='JPEG壓縮,強度=10'
imwrite(uint8(round(Y)),'jpeg_n.jpg','jpg','Quality',10);%按壓縮因子Quality的比例,將J2壓縮到jpeg_n.jpg中。
end
title('提取結果');
原圖像512*512 水印64*64
函數聲明為function [a type]=myfunction(a,type)
圖像降維dao,是因為,音頻是zhi壹維的dao,所以要用到 reshape 這個函版數。
置亂權,這個 有很多種的,壹般用RandStream 這個來設定亂數。
密鑰:圖像(watermark)算法(比如XOR) 亂數 。
嵌入與提取: 根據算法和處理方法不同方法不同。小波 壹般利用平均差值 嵌入的,提取的時候可以根據與差值比較 ,大的時候1小的時候0等方法。
擴展資料:
MATLAB由壹系列工具組成。這些工具方便用戶使用MATLAB的函數和文件,其中許多工具采用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調試器、路徑搜索和用於用戶瀏覽幫助、工作空間、文件的瀏覽器。隨著MATLAB的商業化以及軟件本身的不斷升級,MATLAB的用戶界面也越來越精致,更加接近Windows的標準界面,人機交互性更強,操作更簡單。
而且新版本的MATLAB提供了完整的聯機查詢、幫助系統,極大的方便了用戶的使用。簡單的編程環境提供了比較完備的調試系統,程序不必經過編譯就可以直接運行,而且能夠及時地報告出現的錯誤及進行出錯原因分析。
百度百科-MATLAB