💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞💞💞💞💞💞💞💞💞💥💥💥💥💥💥💥💥
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀

🔊博主简介:985研究生,Matlab领域科研开发者;
🚅座右铭:行百里者,半于九十。
🏆代码获取方式:
优快云 Matlab武动乾坤—代码获取方式
更多Matlab图像处理仿真内容点击👇
①Matlab图像处理(进阶版)
⛳️关注优快云 Matlab武动乾坤,更多资源等你来!!
⛄一、分数傅里叶变换图像加密解密
1 加密原理
函数f(x,y)的二维分数傅里叶变换的数学定义式为kαx(x,u)与kβy(y,u)分别为沿x和y方向的变换核;α与β分别为x和y方向的变换阶数,c1为复常数。将(3)式中x和y分别替换为y和βy ,可以得到y方向的变换核和变换阶数。如果利用分数傅里叶变换进行图像加密,即在输入平面为一个二维的光学图像,则可以在x和y2个相互独立的方向上对数据进行加密。
输入光学系统的信息函数为g(x0,y0)的菲涅耳变换表达式的定义为,波数K=2π/λ;z为菲涅耳变换距离;λ为光波波长。将积分式中的相位因子展开,整理后得到在波长和输入、输出平面距离确定的情况下,可以忽略常数相位因子。
因此,菲涅耳变换的离散化计算可以利用快速傅里叶变换算法提高程序的效率。
待加密图像经过平行光照射后,通过与输入平面的随机相位模板(Rand phasemask,RPM)相作用,经x方向的变换透镜作用到达平面P2,完成了x方向的分数傅里叶变换。然后,经过y方向的变换透镜的作用后,在P3平面得到了经过分数傅里叶变换的输出图像。Lx和Ly分别为x方向和y方向的变换透镜,设2个透镜的变换阶数分别为αx和βy,则P1平面和透镜Lx所在平面之间的距离Z1以及P2平面和透镜Ly所在平面之间的距离z2。
式中fx和fy分别为透镜Lx和Ly的焦距。
令RPMi的相位函数为exp(iφ(x1,Y1)),则在输出平面P3得到变换后的图像。
这里,图像经过分数傅里叶变换完成图像的初步加密过程,密钥的个数为3个。如果利用菲涅耳变换的无透镜特性,使加密信息f(x3,y3)与另一RPM2作用后,再经过距离为x3的菲涅耳变换,使系统的加密密钥个数增加到了6个,在系统内的光学元件(光学透镜)没有增加的基础上,提高了系统的安全性能。
设RPM2的表达式为(exp(iφ3(x3,y3)),则经过距离为z3的菲涅耳变换后加密的图像函数fresz为距离为z3的菲涅耳变换算子。为了记录加密图像的相位信息,在输出平面加入一束与输入光相干的参考光,在P4平面上形成加密图像的全息图。设参考光为中A02是我们从通过产生光线的激光器的参数中得到的。
为了得到解密图像,首先需要通过从激光器的参数及加密信息中得到f’(x4,y4,z)。根据光路的可逆性,将加密图像的共轭图像f’(x4,y4,z)*在原系统的输出平面,经过z3距离的菲涅耳变换和随机相位模板RPM2的共轭作用后,再经过变换阶数为-αx和-βy的分数傅里叶变换与RPMi的共轭作用,最后得到解密图像。
2 安全性能分析
从上面的加密、解密过程可以看出,采用改良后的加密系统时,经过分数傅里叶变换后的图像又经过了距离为z3菲涅耳变换,因此,在不知道光波波长和菲涅耳变换距离的情况下不能正确解密图像。
具体分析如下:
由(5)式和(6)式可以得出菲涅耳变换的过程,可以近似看作是信息函数g(xo,Yo)与相位因子相作用后的傅里叶变换谱。 由于相位因子是波长λ和变换距离z的函数,也就是说如果不知道正确的波长和变换距离,是不能得到正确的相位因子的。因此,解密时,如果使用的菲涅耳变换的距离和光波的波长不正确,那么将不能得到经过分数傅里叶变换加密后的图像f(x3,y3)。假设不存在RPMz,则整个系统存在5个密钥,分别是RPM1、2,λ,α和β,比单独使用分数傅里叶变换的加密系统多了2个密钥(z和λ),而此时整个加密系统并未增加任何光学元件。因此,由上面的分析可知,采用该系统比仅使用分数傅里叶变换的加密系统多了几重密钥,大大提高了系统的安全性。
⛄二、部分源代码
clc;close all;clear all;
f=imread(‘barbara.png’);
if ndims(f) == 3
f = rgb2gray(f);
end
f=imresize(f,[256,256]);
f=round(f);
imshow(uint8(f));title(‘原始图像’)
f=double(f);
[u,v]=size(f);
x=1:u;
y=1:v;
n(x,y)=abs(rand(u,v).*2.*pi);
b(x,y)=abs(rand(u,v).*2.*pi);
g=f.*exp(1i.*n(x,y));
for x1=1:1:u
G(x1,:)=Disfrft(g(x1,:),4,4);
end
for x1=1:1:u
G(:,x1)=Disfrft(G(:,x1),4,4);
end
H=G.*exp(1i.*b(x,y));
for x1=1:1:u
h(x1,:)=Disfrft(H(x1,:),3,3);
end
for x1=1:1:u
h(:,x1)=Disfrft(h(:,x1),3,3);
end
figure
imshow(uint8(h));title(‘加密图像’)
%--------------------------------------------------------------------------
for x1=1:1:u
H1(x1,:)=Disfrft(h(x1,:),-3,3);
end
for x1=1:1:u
H1(:,x1)=Disfrft(H1(:,x1),-3,3);
end
G1=H1.*exp(-1i.*b(x,y));
for x1=1:1:u
g1(x1,:)=Disfrft(G1(x1,:),-4,4);
end
for x1=1:1:u
G(:,x1)=Disfrft(g1(:,x1),-4,4);
end
f1=G.*exp(-1i.*n(x,y));
figure
imshow(uint8(f1));title(‘解密图像’)
⛄三、运行结果



⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]陈永红,黄席樾.基于混沌序列的图像加密解密算法[J].计算机科学. 2003,(12)
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 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合
本文介绍了如何利用分数傅里叶变换和菲涅耳变换进行图像加密,通过多个变换步骤增强系统安全,同时详细解释了加密解密过程和安全性能分析。Matlab示例代码展示了加密和解密的实现步骤。
66

被折叠的 条评论
为什么被折叠?



