1.简述
一、引言
所谓“置乱”,就是将图像的信息次序打乱,a像素移动到b像素位置上,b像素移动到c像素位置上,……,使其变换成杂乱无章难以辨认的图片。数字图像置乱技术属于加密技术,是指发送发借助数学或者其他领域的技术,对一幅有意义的数字图像做变换,使之变成一幅杂乱无章的图像用于传输。在图像传输过程中,它通过对图像像素矩阵的重排,破坏了图像矩阵的相关性,使非法截获者无法从杂乱无章的图像中获得原图像信息,以此实现信息的加密。接收方经去乱解密可恢复原图像。
二、图像置乱原理
2.1 图像置乱的实质
破坏相邻像素点间的相关性。
图像置乱的实现过程:置乱关系:原始图像A0,映射关系&,置乱图像A1,原图到置乱图像的关系可表示为:
2.2 Arnold变换与反变换应用
Arnold变换:又称猫脸变换,矩阵表示为:
(x’,y’)是图像中(x,y)的像素变换后的新位置。反复进行变换即可得到置乱的图像。
二维Arnold变换的周期性:
逆变换:
无需知道变换的周期,直接根据置乱次数即可恢复出原图像。
2.代码
function chengxu()
A=imread('lena.png');
figure,imshow(A);
title('原图像(256*256)');
for K=1:16 %置乱16次
B=zhiluan(A); %调用zhuluan函数,实现置乱
figure,imshow(B);
title(['置乱',num2str(K),'次后的图像'])
A=B;
end
end
function B=zhiluan(A)
%此函数将图像A置乱,输出置乱后的图像B
[M,N]=size(A);
for x=1:N
for y=1:N
if x<y %计算(x,y)点映射到B图像的坐标(x1,y1)
x1=x-y+N+1;
y1=-x+N+1;
else
x1=x-y+1;
y1=-x+N+1;
end
B(x1,y1)=A(x,y); %B图像的像素幅值
end
end
end
3.运行结果