💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞💞💞💞💞💞💞💞💞💥💥💥💥💥💥💥💥
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
🔊博主简介:985研究生,Matlab领域科研开发者;
🚅座右铭:行百里者,半于九十。
🏆代码获取方式:
优快云 Matlab武动乾坤—代码获取方式
更多Matlab图像处理仿真内容点击👇
①Matlab图像处理(进阶版)
⛳️关注优快云 Matlab武动乾坤,更多资源等你来!!
⛄一、分层自嵌入数字水印内容认证与恢复简介
为了保护图像数据的完整性、对图像进行认证和内容恢复,论文在分析数字水印研究现状和基本理论的基础上,提出一种分层自嵌入数字水印的内容认证和恢复算法。
文章的创新点在于算法在图像的变换域和空间域分层嵌入含有图像自身信息的恢复水印和认证水印,兼具了图片抵抗一定程度图像操作的鲁棒性要求和被篡改部位全盲检测的要求。同时,算法对图像进行分层篡改检测,准确检测出被篡改区域。除此之外,算法利用嵌入的水印,依据恢复精度分层恢复图像内容,极大地增加了图像内容的恢复能力,在图像遭受大面积篡改时也能达到较高的恢复效果。
实验结果表明,论文算法在抵抗剪切攻击和拼贴攻击方面有良好的表现,在剪切面积高达90%的情况下,对图像内容恢复程度能达到60%以上。同时,算法能抵抗JPEG压缩、加入噪声、中值滤波攻击,鲁棒性良好。
⛄二、部分源代码
clear;
q1=64; %第一层水印嵌入强度
key1=13; %第三层水印分块映射位置密钥
Fy=[8 6 6 8 %44量化表
2 6 7 7
4 6 8 7
7 5 4 5];
Fyy=[16 11 10 16 24 40 51 61 %88量化表
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99];
%%%%对原始图片进行修改%%%%
attack_pic();
PIC=imread(‘PIC_change.bmp’);
if ndims(PIC)==3
PIC=rgb2gray(PIC);
end
figure(1);subplot(142);imshow(PIC);title(‘修改后的图片’);
[M,N]=size(PIC);
X2=mapping44(M,N,key1);%找到4*4分块的映射位置
%%%%分层图像内容认证%%%%
[sign4]=recovery_authentication(PIC,X2);
%%%%%%%%%%%%%%%%%内容恢复%%%%%%%%%%%%%%
xx=[1,1,3,3];
yy=[1,3,1,3];
a1=PIC;
sign5=sign4;
%存有被毁坏分块信息的分块未被毁坏,提取出第三层水印信息
for i=1:4:M
for j=1:4:N
if sign4(ceil(i/4),ceil(j/4))==1
x=floor(X2(ceil(i/4),ceil(j/4))/(N/4));
y=mod(X2(ceil(i/4),ceil(j/4)),N/4);
if sign4(x+1,y+1)==0
%第三层水印恢复信息
R=PIC(4x+1:4x+4,4y+1:4y+4);
for k=1:4
rrr(k6-4)=mod(R(xx(k),yy(k)+1),2);
rrr(k6-5)=(mod(R(xx(k),yy(k)+1),4)-rrr(k6-4))/2;
rrr(k6-2)=mod(R(xx(k)+1,yy(k)),2);
rrr(k6-3)=(mod(R(xx(k)+1,yy(k)),4)-rrr(k6-2))/2;
rrr(k6)=mod(R(xx(k)+1,yy(k)+1),2);
rrr(k6-1)=(mod(R(xx(k)+1,yy(k)+1),4)-rrr(k*6))/2;
end
Q1=zeros(4,4);
Q1(1,1)=typecast(uint8(bin2dec(num2str(rrr(1:8)))), ‘int8’);
Q1(1,2)=typecast(uint8(bin2dec(num2str(rrr(9:16)))), ‘int8’);
Q1(2,1)=typecast(uint8(bin2dec(num2str(rrr(17:24)))), ‘int8’);
for ii=1:4
for jj=1:4
Q2(ii,jj)=Q1(ii,jj)Fy(ii,jj);
end
end
Q2=idct2(Q2);
a1(i:i+3,j:j+3)=Q2;
sign5(ceil(i/4),ceil(j/4))=0;
end
end
end
end
% 用于计算十进制数的补码
% 参数x:原始十进制数组,正负数皆可
% 参数n:输出的二进制补码最小位数,如果位数不够会根据x的取值范围自动扩展
% 输出值c:转换得到的二进制补码字符串数组
function [c] = complement(x,n)
for i = 1 : length(x)
if x(i) < 0
x(i) = x(i) + 2^n;
end
end
c = dec2bin(x, n)-‘0’;
end
function [sign4]=recovery_authentication(PIC1,X2)
%分层图像内容认证
Fy=[8 6 6 8 %44量化表
2 6 7 7
4 6 8 7
7 5 4 5];
[M,N]=size(PIC1);
for i=1:4:M
for j=1:4:N
Q=PIC1(i:i+3,j:j+3);
%第一层检测
signtemp=recovery_authentication_firstcheck(Q);
sign1(floor(i/2)+1,floor(j/2)+1)=signtemp(1);
sign1(floor(i/2)+1,floor(j/2)+2)=signtemp(2);
sign1(floor(i/2)+2,floor(j/2)+1)=signtemp(3);
sign1(floor(i/2)+2,floor(j/2)+2)=signtemp(4);
%第二层检测
if sum(signtemp)>=1
sign2(floor(i/4)+1,floor(j/4)+1)=1;
else
sign2(floor(i/4)+1,floor(j/4)+1)=0;
end
end
end
%第三层检测
sign3=sign2;
for i=2:M/4-1
for j=2:N/4-1
sum1=0;
if sign2(i,j)==0
sum1=sign2(i-1,j-1)+sign2(i-1,j)+sign2(i-1,j+1)+sign2(i,j-1)+sign2(i,j+1);
sum1=sum1+sign2(i+1,j-1)+sign2(i+1,j)+sign2(i+1,j+1);
if sum1>=5
sign3(i,j)=1;
end
end
end
end
%第四层检测
xx=[1,1,3,3];
yy=[1,3,1,3];
sign4=sign3;
for i=1:4:M
for j=1:4:N
if sign3(ceil(i/4),ceil(j/4))==0
x=floor(X2(ceil(i/4),ceil(j/4))/(N/4));
y=mod(X2(ceil(i/4),ceil(j/4)),N/4);
if sign3(x+1,y+1)==0
P3=PIC1(i:i+3,j:j+3);
P=P3-mod(P3,4); %每个像素最低三个有效位置0
P1=dct2§;
for ii=1:4
for jj=1:4
P2(ii,jj)=fix(P1(ii,jj)/Fy(ii,jj));
end
end
r=zeros(1,24);
r1 = complement(P2(1,1), 8); %前三个系数的补码生成24bit的恢复水印信息r
r2 = complement(P2(1,2), 8);
r3 = complement(P2(2,1), 8);
r=[r1,r2,r3];
R1=PIC1(4*x+1:4*x+4,4*y+1:4*y+4);
for k=1:4
rr(k*6-4)=mod(R1(xx(k),yy(k)+1),2);
rr(k*6-5)=(mod(R1(xx(k),yy(k)+1),4)-rr(k*6-4))/2;
rr(k*6-2)=mod(R1(xx(k)+1,yy(k)),2);
rr(k*6-3)=(mod(R1(xx(k)+1,yy(k)),4)-rr(k*6-2))/2;
rr(k*6)=mod(R1(xx(k)+1,yy(k)+1),2);
rr(k*6-1)=(mod(R1(xx(k)+1,yy(k)+1),4)-rr(k*6))/2;
end
if rr~=r
sign4(ceil(i/4),ceil(j/4))=1;
end
end
end
end
end
figure(2);
subplot(141);imshow(sign1);title(‘第一层检测结果’);
subplot(142);imshow(sign2);title(‘第二层检测结果’);
subplot(143);imshow(sign3);title(‘第三层检测结果’);
subplot(144);imshow(sign4);title(‘第四层检测结果’);
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]万谊丹.基于Arnold和DCT的抗剪切攻击图像水印研究[J].网络安全技术与应用. 2021,(08)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
🍅 仿真咨询
1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长
10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合