%%%%%%%%%%%
%file_name='shuiy.jpg';
%message=double(imread(file_name));
%mm=size(message,1);
%nm=size(message,2);
%%%%%%%%%%%
file_name='dwt_watermarked.bmp';
watermarked_image=double(imread(file_name));
% watermarked_image(80:101,177:184)=255;
% watermarked_image(84:105,85:93)=255;
% watermarked_image(14:23,105:151)=255;
% watermarked_image(105:134,241:248)=255;
% imshow(uint8(watermarked_image));
mw=size(watermarked_image,1);
nw=size(watermarked_image,2);
[ca1,ch1,cv1,cd1]=dwt2(watermarked_image,'haar');
file_name='eee.bmp';
cover_object=double(imread(file_name));
[ca2,ch2,cv2,cd2]=dwt2(cover_object,'haar');
watermarkr=ca1-ca2;
watermark=ones(mm);
for i=1:mm
for j=1:nm
if(watermarkr(i,j)~=0)
watermark(i,j)=0;
end
end
end
watermark=uint8(watermark);
figure
imshow(watermark,[]);
title('recovered watermark')
orig_watermark=imread('shuiy3.bmp');
sim=corr2(orig_watermark,watermark)
imwrite(watermark,'watermark_r.jpg','jpg');
脆弱水印相关算法及代码实现
版权申诉
4星 · 超过85%的资源 111 浏览量
2021-06-24
22:07:50
上传
评论 2
收藏 28KB RAR 举报
qq_41934573
- 粉丝: 159
- 资源: 459
最新资源
- C语言基础-C语言编程基础之Leetcode编程题解之第39题组合总和.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第38题外观数列.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第37题解数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第36题有效的数独.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第35题搜索插入位置.zip
- index.wxml
- C语言基础-C语言编程基础之Leetcode编程题解之第33题搜索旋转排序数组.zip
- 基于Python实现的手写数字识别系统源码.zip
- 从网页提取禁止转载的文字
- C语言基础-C语言编程基础之Leetcode编程题解之第32题最长有效括号.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈