clc
close all
clear all
% 保存开始时间
% iTimes=4; %置乱次数
iTimes = input('Please input Arnold scramble times:');
% 读入水印图像
file_name='c:\6.jpg';
I=imread(file_name);
I=rgb2gray(I);
message=im2double(I);
%%水印图像的行数与列数
Mm=size(message,1); %水印行数
Nm=size(message,2); %水印列数
%对水印图像进行arnold置乱
tempImg=message;
for n=1:iTimes % 次数
for u=1:Mm
for v=1:Nm
temp=tempImg(u,v);
ax=mod((u-1)+(v-1),Mm)+1;
ay=mod((u-1)+2*(v-1),Nm)+1;
outImg(ax,ay)=temp;
end
end
tempImg=outImg;
end
zhiluantu=tempImg;
message_vector1=reshape(message,1,Mm*Nm);
%%%%%%%%%%%%%置乱复原
iTimes=60;
tempImg=reshape(message_vector1(1:Mm*Nm),Mm,Nm);
%tempImg=message_vector;
message_arnold=tempImg;
for n=1:iTimes % 次数
for u=1:Mm
for v=1:Nm
temp=tempImg(u,v);
ax=mod((u-1)+(v-1),Mm)+1;
ay=mod((u-1)+2*(v-1),Nm)+1;
outImg(ax,ay)=temp;
end
end
tempImg=outImg;
end
message=outImg;
% % 显示提取水印与原始水印
figure
subplot(2,2,1);
imshow(message,[]);
title('复原水印');
subplot(2,2,2);
imshow(zhiluantu,[]);
title('置乱水印');
subplot(2,2,3);
imshow(message,[]);
title('复原水印');
subplot(2,2,4);
imshow(I);
title('原始水印');
zhiluan.rar_水印预处理
版权申诉
192 浏览量
2022-09-23
08:36:06
上传
评论
收藏 2KB RAR 举报
小贝德罗
- 粉丝: 70
- 资源: 1万+
最新资源
- 01-spring-boot-overview
- vgg模型-基于深度学习AI算法对猫的动作行为识别-不含数据集图片-含逐行注释和说明文档.zip
- vgg模型-CNN图像分类识别人脸-不含数据集图片-含逐行注释和说明文档.zip
- Detect It Easy v3.03
- shufflenet模型-基于人工智能的卷积网络训练识别鞋类-不含数据集图片-含逐行注释和说明文档.zip
- shufflenet模型-python语言pytorch框架训练识别樱桃新鲜度-不含数据集图片-含逐行注释和说明文档.zip
- 优质资源,让 .NET 开发更简单,更通用,更流行
- resnet模型-基于深度学习对苹果颜色识别-不含数据集图片-含逐行注释和说明文档.zip
- mobilenet模型-基于图像分类算法对食物美食识别-不含数据集图片-含逐行注释和说明文档.zip
- ImmunityDebugger
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈