📄 cepstrum2.m
字号:
close all;
clear all;
%**************************************************************************
%***
%二次采样以确定像素间的相关性,然后对两个采样结果同时嵌入水印,利用的是倒谱变换
%**************************************************************************
dat=imread('e:\watermark\use picture\lena512','bmp'); % dat=imread('e:\watermark\use picture\lena256','bmp');
[m,n]=size(dat);
data1=dat(1:2:m,1:2:n);
data2=dat(2:2:m,2:2:n); % 二次采样得到2个256的相关图像
data3=dat(1:2:m,2:2:n);
data4=dat(2:2:m,1:2:n);
figure(1);
subplot(2,2,1);
imagesc(data1);
colormap(gray);
axis image;
subplot(2,2,2);
imagesc(data2);
axis image;
subplot(2,2,3);
imagesc(data3);
axis image;
subplot(2,2,4);
imagesc(data4);
axis image;
%**************************************************
p1=ifft2(log(fft2(double(data1))+eps));
p2=ifft2(log(fft2(double(data2))+eps));
p3=ifft2(log(fft2(double(data3))+eps));
p4=ifft2(log(fft2(double(data4))+eps));
r1=abs(p1);
r2=abs(p2);
r3=abs(p3); % 取幅度值
r4=abs(p4);
ph1=angle(p1);
ph2=angle(p2); % 取弧度角
ph3=angle(p3);
ph4=angle(p4);
dat1=abs(ifft2(exp(fft2(double(p1))+eps)));
dat2=abs(ifft2(exp(fft2(double(p2))+eps)));
dat3=abs(ifft2(exp(fft2(double(p3))+eps)));
dat4=abs(ifft2(exp(fft2(double(p4))+eps)));
nedat(1:2:m,1:2:n)=dat1;
nedat(2:2:m,2:2:n)=dat2;
nedat(1:2:m,2:2:n)=dat3;
nedat(2:2:m,1:2:n)=dat4;
figure(2);
subplot(2,2,1);
imagesc(dat);
colormap(gray);
axis image;
subplot(2,2,2);
imagesc(nedat);
axis image;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -