基于混沌序列和小波变换层次化编码的遥感图像加密算法matlab仿真

时间:2024-11-11 07:53:33

目录

1.程序功能描述

2.测试软件版本以及运行结果展示

3.核心程序

4.本算法原理

5.完整程序


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