wembed.m
来自「用matlab实现的DCT水印处理」· M 代码 · 共 23 行
M
23 行
function imw=wembed(im,w,delta,numblk)
% 分块 DCT 和 量化的盲水印嵌入
%------------------------NOTES---------------------------------------------
% Written by : zj - 01/05/07
% Contact : zxxyj0506@sina.com
% CpoyRight@2007-2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fun1=@dct2;
im_dct=blkproc(im,[8 8],fun1);
for k=1:numblk
for p=1:numblk
x=(k-1)*8+1; y=(p-1)*8+1;
cur_dct00=im_dct(x,y);
akp=round(cur_dct00/delta); % akp 是量化值
if mod(akp+w(k,p),2)==1
im_dct(x,y)=(akp-1/2)*delta;
else
im_dct(x,y)=(akp+1/2)*delta;
end
end
end
fun2=@idct2;
imw=blkproc(im_dct,[8 8],fun2);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?