目录
1.程序功能描述
基于小波变换层次化编码的遥感图像加密算法matlab仿真。分析加解密处理后图像的直方图,相关性,熵,解密后图像质量等。
2.测试软件版本以及运行结果展示
MATLAB2022A版本运行
3.核心程序
im=imread('images\1.jpg');
im1=rgb2gray(im);%图像灰度化
Image_RGB = im1;
figure;
subplot(221);
imshow(Image_RGB);title('原图');
subplot(222);
imhist(Image_RGB);title('原图直方图');
%Encryption
N = 7;
X0_dwt = func_wavelet1(Image_RGB,N,1);
%Decryption
%Decryption
% X0_idwt = func_wavelet2(X0_dwt,N,1);
subplot(223);
imshow(X0_dwt);title('加密图');
subplot(224);
imhist(X0_dwt);title('加密图直方图');
029_005_4m
4.本算法原理
基于小波变换层次化编码的遥感图像加密算法,其主要结构如下图所示:
在完成小波变换之后,我们分别对小波变换后得到的LL,LH,HL以及HH进行混沌加密,这里,我们选择四个不同参数下的Logisitic混沌映射分别对LL,LH,HL以及HH进行加密。四个不同参数下的Logisitic混沌映射可以表示为:
根据公式,我们构造如下的新的混沌序列:
然后,通过上述公式的Logistic混沌系统分别对图像进行置乱和扩散处理。在遥感图像的置乱阶段,我们通过混沌序列对遥感图像的的像素进行置乱处理,我们根据公式,并对其进行离散处理,得到如下计算公式:
在遥感图像的扩散阶段,由于遥感影像对加解密速度要求较高,因此采用异或加密算法。然后将遥感图像小波变换后的LL,LH,HL,HH分别和四组混沌序列进行异或计算:
在对加密遥感图像进行解密时,根据相同的密钥信息 进行反向扩散操作和置乱操作,就可以完成遥感图像的解密操作,从而得到原始的遥感图像数据。
5.完整程序
VVV