• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: 其他
  • 标签: Patchwork  水印  算法  

资源简介

Patchwork水印算法 上课用过的

资源截图

代码片段和文件信息

%根据W. Bender的《Techniques for data hiding》编写
%用补丁方法对图象做空间域的水印嵌入和提取,
%效率极高,程序简洁,属信息隐藏中常用的方法之一。
%作者:辽宁大学 信息学院 范铁生
%email:fts0@163.com


% 水印嵌入部分
clcclear all
tic; %运算时间初始值
cover=double(imread(‘lena.bmp‘))./256;%归一化
[mn]=size(cover);
% 读入水印,并取二值化
message=im2bw(imread(‘baboon64.bmp‘));
[mmmn]=size(message);
%为伪随机数发生器的种子
rand(‘state‘256); %嵌入的密钥
f=cover; %时域方法
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(rs)==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(rs)=1;
        else 
            watermark(rs)=0;
        end 
    end
end
figure
subplot(131)imshow(cover[]);title(‘原始图像‘);
subplot(132)imshow(F[]);title(‘水印攻击的图像‘);
subplot(133)imshow(watermark*256[]);title(‘水印提取的图像‘);
toc

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1383  2000-10-21 09:51  image_patchwork.m

----------- ---------  ---------- -----  ----

                 1601                    2


评论

共有 条评论