% m=256; %原影象長度
% n=60; %水印影象長度
% k=8;
% i=zeros(m,m);
% ii=zeros(k,k);
% b=zeros(m,m);
% idct=zeros(k,k);
% d=zeros(m,m);
%讀取原影象
%顯示原影象
imshow(i);
title('原影象');
subplot(2,2,2);
%顯示原影象
imshow(ir);
title('水印影象');
m=size(i,1);
n=size(ir,1);
k=m/n;
% m=1;
% n=1;
%嵌入水印
for m=1:n
for n=1:n
x=(m-1)*k+1;
y=(n-1)*k+1;
ii=i(x:x+k-1,y:y+k-1);%將原圖分成8*8的子塊
idct=dct2(ii);%對子塊進行dct變換
xidct=idct;
% if x==1&y==1
% alfa=0.02;
% else
alfa=0.2;
% end
b=idct+alfa*double(ir(m,n));
% b=idct;
bidct=idct2(b);%進行dct反變換
xx=dct2(bidct);
j(x:x+k-1,y:y+k-1)=bidct;
endend
subplot(2,2,3);
j=uint8(j);
imshow(j);%顯示嵌入水印後的影象
title('加水印影象');
% imwrite(j,'c:\users\administrator\desktop\addshuiyin.bmp');
%提取水印
j=imread('c:\users\administrator\desktop\addshuiyin.bmp');
ir=imread('c:\users\administrator\desktop\shuiyin.bmp');
m=size(j,1);
n=size(ir,1);
k=m/n;
k1=8;
for m=1:n
for n=1:n
x=(m-1)*k1+1;
y=(n-1)*k1+1;
ii=i(x:x+k1-1,y:y+k1-1);%將原圖分成8*8的子塊
idct=dct2(ii);%對子塊進行dct變換
jj=j(x:x+k-1,y:y+k-1);%將加水印圖分成8*8的子塊
jdct=dct2(jj);%對子塊進行dct變換
jrr=jdct(1,1)-idct(1,1);
bidct=idct2(jrr);%進行dct反變換
if bidct>0.01
jr(m,n)=1;
else
jr(m,n)=0;
endend
endsubplot(2,2,4);
jr=logical(jr);
imshow(jr);%顯示嵌入水印後的影象
title('提取的水印');
imwrite(jr,'c:\users\administrator\desktop\tiqushuiyin.bmp');
Matlab中如何加入函式
如何將libsvm加入到matlab函式庫中 1 在matlab中命令視窗中pathtool,出現以下視窗 2 選擇你所加入的是資料夾還是子資料夾,加入後儲存即可。在matlab中加入斷點的方法 在matlab中按f12加入斷點 按f5可以執行到斷點出 按f10n單步執行 按f11進入函式內部執行 ...
matlab中怎樣加入凝視
1 方法一 選中你要加凝視的內容,然後選擇工具選單 text comment 就能夠了,假設要把凝視變為語句,相同選中要轉變的語句,然後用滑鼠選擇 text uncomment 就能夠了。用鍵盤的快捷鍵是 ctrl r 或者選中你要加凝視的內容,右擊滑鼠選擇 comment 假設要把凝視變為語句,相...
將C 裡的Mat矩陣儲存並由matlab提取分析
c 本身只支援 xml yml 的資料檔案讀寫功能,並且其xml檔案與構建網頁資料所用的xml檔案格式不一致,在matlab中無法讀取。我們可以通過以下方式將資料儲存為txt檔案,再匯入到matlab中。1.c 儲存mat矩陣 mat sal saliency.saliency im ofstrea...