?? image_patchwork.m
字號(hào):
%根據(jù)W. Bender的《Techniques for data hiding》編寫
%用補(bǔ)丁方法對(duì)圖象做空間域的水印嵌入和提取,
%效率極高,程序簡(jiǎn)潔,屬信息隱藏中常用的方法之一。
%作者:遼寧大學(xué) 信息學(xué)院 范鐵生
%email:fts0@163.com
%
% 水印嵌入部分
clc,clear all
tic; %運(yùn)算時(shí)間初始值
cover=double(imread('lena.bmp'))./256;%歸一化
[m,n]=size(cover);
% 讀入水印,并取二值化
message=im2bw(imread('baboon64.bmp'));
[mm,mn]=size(message);
%為偽隨機(jī)數(shù)發(fā)生器的種子
rand('state',256); %嵌入的密鑰
f=cover; %時(shí)域方法
delta=.2 %*256;%歸一化后就不用*256了
ax=randperm(m);
ay=randperm(n);
bx=randperm(m);
by=randperm(n);
for r=1:mm
for s=1:mn
if message(r,s)==1
f(ax(r),ay(s))=f(ax(r),ay(s))+delta;
f(bx(r),by(s))=f(bx(r),by(s))-delta;
else
f(ax(r),ay(s))=f(ax(r),ay(s))-delta;
f(bx(r),by(s))=f(bx(r),by(s))+delta;
end
end
end
%水印提取部分
rand('state',256); %提取的密鑰
ax=randperm(m);
ay=randperm(n);
bx=randperm(m);
by=randperm(n);
for r=1:mm
for s=1:mn
if f(ax(r),ay(s))-f(bx(r),by(s))>0
watermark(r,s)=1;
else
watermark(r,s)=0;
end
end
end
figure
subplot(131),imshow(cover,[]);title('原始圖像');
subplot(132),imshow(F,[]);title('水印攻擊的圖像');
subplot(133),imshow(watermark*256,[]);title('水印提取的圖像');
toc
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -