MATLAB 图像加密处理(一)

MATLAB作为数学领域应用最广泛的一种软件,集成了对于图片处理的函数和功能,成为了处理数字图像问题的佼佼者。其出众的计算能力和简便的绘图能力可以有效进行数字图像的变换和操作。本文探究了MATLAB(R2015a)软件下数字图像处理部分简单内容方法的操作实现,包括图像变换、图像增强等。

对于图像加密,首先生成加密密钥,对图像采用按位与的方式进行加密。

一、混沌序列

混沌序列有以下的三个特点:
1、对初始条件的敏感依赖性。
2、临界水平,这里是非线性事件的发生点。
3、分形维,它表明有序和无序的统一。

由于对初始条件依赖性很强,即使是初值发生微小的扰动,进过几百次的迭代之后会有极大的差异。

对于一般常见的混沌序列,Logistic混沌序列:

在这里插入图片描述
对于x的取值范围,需要在-1~1之间。

首先构造生成序列

%% 生成序列函数
x=linspace(1,10,8);%可以生成8个值在1~10之间的数,形成一个矩阵
y=plot(x)

生成混沌序列

%% 定义混沌序列
x=linspace(0,0,80);
x(1)=0.98;
for i=2:80
    x(i)=1-2*x(i-1)*x(i-1);
end
x
y=plot(x);

生成混沌序列打印的图像
初值敏感性:

%% 混沌初始值比较
long=160;
x_1=linspace(0,0,long);
x_1(1)=0.4;
for i=2:long
    x_1(i)=1-2*x_1(i-1)*x_1(i-1);
end
x_2=linspace(0,0,long);
x_2(1)=0.400001;
for i=2:long
    x_2(i)=1-2*x_2(i-1)*x_2(i-1);
end
% subplot(1,2,1);
disp([x_1,x_2]);
plot(x_1);
hold on 
plot(x_2,'--r');
title('初值尽差0.000001的logistic序列');

在这里插入图片描述
由初值仅差0.000001的logistic序列折现图可以看出,在迭代到二十代左右以后,值发生了巨大的变化。

原文地址:https://www.cnblogs.com/mach-pupil/p/12535337.html