利用Arnold置乱二级小波分解后的低频分量,得到密文图像,求matlab代码
时间: 2024-01-24 21:16:42 浏览: 85
基于小波变换实现图像分解与重构附matlab代码.zip
5星 · 资源好评率100%
以下是利用Arnold置乱二级小波分解后的低频分量得到密文图像的Matlab代码:
```
% 读入原始图像
I = imread('lena.bmp');
% 进行二级小波分解
[cA,cH,cV,cD] = dwt2(I,'haar');
[cAA,cAH,cAV,cAD] = dwt2(cA,'haar');
% 对低频分量进行Arnold置乱
N = size(cAA,1);
n = input('请输入置乱次数: ');
for i=1:n
for x=1:N
for y=1:N
x1 = mod(2*x + y, N) + 1;
y1 = mod(x + y, N) + 1;
cAA(x1,y1) = cAA(x,y);
end
end
end
% 重构图像
cA = idwt2(cAA,cAH,cAV,cAD,'haar');
I = idwt2(cA,cH,cV,cD,'haar');
% 显示原始图像和密文图像
subplot(1,2,1); imshow(imread('lena.bmp'));
title('原始图像');
subplot(1,2,2); imshow(uint8(I));
title('密文图像');
```
在运行代码时,会提示输入置乱次数。根据需要进行输入即可。另外,需要注意的是,该代码只针对灰度图像,对于彩色图像需要进行通道分离和合并。
阅读全文