今日学习笔记:置乱算法
常用的置乱算法分为三类:
一,对二维图像矩阵进行行置乱和列置乱,或交叉进行行、列置乱;
二,将二维图像展开成一维行向量或一维列向量,对该向量进行位置置乱;
三,借助于2x2置乱矩阵变换二维图像的各个像素点的位置。
二维图像直接行置乱与列置乱
1)随机置乱方法
行随机置乱:
借助于超混沌Lorenz系统产生长度为M的随机数向量X,每个随机数X∈11,2,….M)。然后,图像矩阵P的第i行与第X,行互换,i=1,2,…,M。
列随机置乱:
借助于超混沌 Lorenz系统产生长度为N的随机数向量Y,每个随机数 Y∈{1,2,…,N}。然后,图像矩阵P的第j列与第Y;列互换,j=1,2,…,N。
超混沌:
高位动力学系统所表现出来的混沌现象,并且该动力系统通常具有两个或两个以上的Lyapunov指数。
clc;clear;%随即置乱方法实现行置乱与列置乱
P=imread('p00071964.JPEG');P=rgb2gray(P);
iptsetpref('imshowborder','tight');
figure(1);imshow(P);
[M,N]=size(P);P=double(P);
n=M+N;
h=0.002;t=800;a=10;b=8/3;c=28;r=-1;x0=1.1;y0=2.2;z0=3.3;w0=4.4;
s=zeros(1,n);
for i=1:n+t
K11=a*(y0-x0)+w0;K12=a*(y0