23数字图像置乱技术(matlab程序)

1.简述

      

一、引言


所谓“置乱”,就是将图像的信息次序打乱,a像素移动到b像素位置上,b像素移动到c像素位置上,……,使其变换成杂乱无章难以辨认的图片。数字图像置乱技术属于加密技术,是指发送发借助数学或者其他领域的技术,对一幅有意义的数字图像做变换,使之变成一幅杂乱无章的图像用于传输。在图像传输过程中,它通过对图像像素矩阵的重排,破坏了图像矩阵的相关性,使非法截获者无法从杂乱无章的图像中获得原图像信息,以此实现信息的加密。接收方经去乱解密可恢复原图像。

二、图像置乱原理


2.1 图像置乱的实质

破坏相邻像素点间的相关性。

图像置乱的实现过程:置乱关系:原始图像A0,映射关系&,置乱图像A1,原图到置乱图像的关系可表示为:

2.2 Arnold变换与反变换应用

Arnold变换:又称猫脸变换,矩阵表示为:


(x’,y’)是图像中(x,y)的像素变换后的新位置。反复进行变换即可得到置乱的图像。

二维Arnold变换的周期性:

逆变换:

扫描二维码关注公众号,回复: 15607341 查看本文章

无需知道变换的周期,直接根据置乱次数即可恢复出原图像。

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.运行结果

67cde17b903e40ddbe42a73a7ca922cf.png

 77f2c81829e249e3937ce2468548f384.png

 8bf34b65df4f472c809a1926da1c492d.png

 35c96377da044344b4347cda174fd2c6.png

 a1d82fa66fff4cc0a7f97a5ba12f6c2e.png

 61ce430b7b644690b0ca40eb649a6340.png

猜你喜欢

转载自blog.csdn.net/m0_57943157/article/details/131604672
今日推荐