wabsract.m

来自「用matlab实现的DCT水印处理」· M 代码 · 共 26 行

M
26
字号
function aw=wabsract(imw,delta)
% 分块 DCT 和 量化的盲水印提取
%------------------------NOTES---------------------------------------------
% Written by : zj  - 01/05/07
% Contact    : zxxyj0506@sina.com
% CpoyRight@2007-2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[imwrow,imwcol]=size(imw);
if imwrow<=1||imwcol<=1
    error('输入测试图像数据必须是一个矩阵');
end 
fun1=@dct2;
imw_dct=blkproc(imw,[8 8],fun1);
numblk=imwrow/8;
for k=1:numblk
    for p=1:numblk
         x=(k-1)*8+1; y=(p-1)*8+1;
         cur_dct00=imw_dct(x,y);
         akp=floor(cur_dct00/delta);   % akp 是量化值
         if mod(akp,2)==1
             aw(k,p)=1;
         else
             aw(k,p)=0;
         end
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?