當前位置:編程學習大全網 - 編程語言 - 用matlab做數字水印嵌入和提取,結果提取出來的水印與原水印完全不同,難道水印圖像和原圖像有壹定的要求

用matlab做數字水印嵌入和提取,結果提取出來的水印與原水印完全不同,難道水印圖像和原圖像有壹定的要求

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

  • 上一篇:情侶情話句子
  • 下一篇:PLC中梯形圖與繼電器控制線路的根本區別是什麽?
  • copyright 2024編程學習大全網