clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
Image=imread('lena.png');
Water=imread('water.png');
%嵌入水印
[Iwm,Uw,Vw]=EmbedWatermark(Image,Water);
%加入攻击方式
%JPEG2000攻击
Iwm1 = JPEG2000Attack(Iwm,90);
%JPEG攻击
Iwm2 = JPEGAttack(Iwm,90);
%噪声攻击
Iwm3 = noiseAttack(Iwm,3);
%滤波攻击
Iwm4 = FilterAttack(Iwm,3);
%整形攻击
Iwm5 = SharpenAttack(Iwm);
%均衡攻击
Iwm6 = histeqAttack(Iwm);
%旋转攻击
Iwm7 = RotationAttack(Iwm);
figure(2)
subplot(241);
imshow(uint8(Iwm1))
title('JPEG2000攻击');
subplot(242);
imshow(uint8(Iwm2))
title('JPEG攻击');
subplot(243);
imshow(uint8(Iwm3))
title('噪声攻击');
subplot(244);
imshow(uint8(Iwm4))
title('滤波攻击');
subplot(245);
imshow(uint8(Iwm5))
title('整形攻击');
subplot(246);
imshow(uint8(Iwm6))
title('均衡攻击');
subplot(247);
imshow(uint8(Iwm7))
title('旋转攻击');
figure(1)
imshow(uint8(Iwm))
title('嵌入水印图像');
figure(3)
subplot(241);
[WaterR,WaterG,WaterB]=ExtractWatermark(Iwm1,Image,Uw,Vw,Water);
NCR=ncc(uint8(WaterR),Water);
NCG=ncc(uint8(WaterG),Water);
NCB=ncc(uint8(WaterB),Water);
a=[NCR,NCG,NCB];
[m,p]=max(a)
if p==1
imshow(uint8(WaterR))
elseif p==2
imshow(uint8(WaterG))
else
imshow(uint8(WaterB))
end
title('JPEG2000攻击提取水印');
subplot(242);
[WaterR,WaterG,WaterB]=ExtractWatermark(Iwm2,Image,Uw,Vw,Water);
NCR=ncc(uint8(WaterR),Water);
NCG=ncc(uint8(WaterG),Water);
NCB=ncc(uint8(WaterB),Water);
a=[NCR,NCG,NCB];
[m,p]=max(a)
if p==1
imshow(uint8(WaterR))
elseif p==2
imshow(uint8(WaterG))
else
imshow(uint8(WaterB))
end
title('JPEG攻击提取水印');
subplot(243);
[WaterR,WaterG,WaterB]=ExtractWatermark(Iwm3,Image,Uw,Vw,Water);
NCR=ncc(uint8(WaterR),Water);
NCG=ncc(uint8(WaterG),Water);
NCB=ncc(uint8(WaterB),Water);
a=[NCR,NCG,NCB];
[m,p]=max(a)
if p==1
imshow(uint8(WaterR))
elseif p==2
imshow(uint8(WaterG))
else
imshow(uint8(WaterB))
end
title('噪声攻击提取水印');
subplot(244);
[WaterR,WaterG,WaterB]=ExtractWatermark(Iwm4,Image,Uw,Vw,Water);
NCR=ncc(uint8(WaterR),Water);
NCG=ncc(uint8(WaterG),Water);
NCB=ncc(uint8(WaterB),Water);
a=[NCR,NCG,NCB];
[m,p]=max(a)
if p==1
imshow(uint8(WaterR))
elseif p==2
imshow(uint8(WaterG))
else
imshow(uint8(WaterB))
end
title('滤波攻击提取水印');
subplot(245);
[WaterR,WaterG,WaterB]=ExtractWatermark(Iwm5,Image,Uw,Vw,Water);
NCR=ncc(uint8(WaterR),Water);
NCG=ncc(uint8(WaterG),Water);
NCB=ncc(uint8(WaterB),Water);
a=[NCR,NCG,NCB];
[m,p]=max(a)
if p==1
imshow(uint8(WaterR))
elseif p==2
imshow(uint8(WaterG))
else
imshow(uint8(WaterB))
end
title('整形攻击提取水印');
subplot(246);
[WaterR,WaterG,WaterB]=ExtractWatermark(Iwm6,Image,Uw,Vw,Water);
NCR=ncc(uint8(WaterR),Water);
NCG=ncc(uint8(WaterG),Water);
NCB=ncc(uint8(WaterB),Water);
a=[NCR,NCG,NCB];
[m,p]=max(a)
if p==1
imshow(uint8(WaterR))
elseif p==2
imshow(uint8(WaterG))
else
imshow(uint8(WaterB))
end
title('均衡攻击提取水印');
subplot(247);
[WaterR,WaterG,WaterB]=ExtractWatermark(Iwm7,Image,Uw,Vw,Water);
NCR=ncc(uint8(WaterR),Water);
NCG=ncc(uint8(WaterG),Water);
NCB=ncc(uint8(WaterB),Water);
a=[NCR,NCG,NCB];
[m,p]=max(a)
if p==1
imshow(uint8(WaterR))
elseif p==2
imshow(uint8(WaterG))
else
imshow(uint8(WaterB))
end
title('旋转攻击提取水印');


fpga和matlab

- 粉丝: 19w+
最新资源
- 【精选】互联网行业年终总结汇报通用模版ppt模板.pptx
- matlab汽车牌照识别程序—综合设计方案.doc
- 网络环境下的初中信息技术课程协作学习的研究.docx
- 中央电视大学形成性测评系统项目管理网上答案.doc
- 两化深度融合加速工业软件发展.docx
- 基于医疗健康大数据背景下探究医院病案的统计及管理.docx
- 高职数学信息化教学实践与探索.docx
- 中职学校教师信息化教学现状调查及对策.docx
- ruoyi-ai-AI人工智能资源
- 健康保险行业竞争格局逐步改善-互联网启发保险意识.docx
- 在Excel中设计试卷生成系统.docx
- 工程项目管理的薄弱环节及改进对策.docx
- 管理会计在大数据背景下的运用探讨.docx
- 矿山自动化排水技术在节能减排中的应用分析.docx
- 电大《网络实用技术基础》复习考试题及答案.doc
- rust-ruoyi-Rust资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


