混沌置乱演示

function zhiluanAll %对原始图像进行置乱 clear; clc; %os原始图像的路径 [filename pathname]=uigetfile('*.bmp;*.tiff;*.tif', '读入图像'); os=[pathname filename]; o=imread(os); % figure,imshow(o); %计算原始图像的大小 [m n]=size(o); %l=zeros(m,n); l=linspace(0,0,m*n); l(1)=0.98; for i=2:m*n l(i)=1-2*l(i-1)*l(i-1); end % %对生成的混沌序列进行排序 % [lsort lindex]=sort(l); % t=linspace(0,0,m*n); % t(1)=0.98; % for i=1:m*n % t(i+1)=1-2*t(i)*t(i); % end % for i=1:m*n % if (l(i)>=0) % l(i)=1; % else % l(i)=0; % end % end % l=~l; % subplot(2,2,2),imshow(l),title('混沌图像'); [lsort,lindex]=sort(l); %ozl =original zhi luan 表示置乱后的原始图像 ozl=zeros(m,n); for i=1:m*n ozl(i)=o(lindex(i)); end % ozl=reshape(ozl,m,n); %%oo =original fu yuan ofy=zeros(m,n); for i=1:m*n ofy(lindex(i))=ozl(i); end h= waitbar(0,'程序处理中,请耐心等待。。。'); for i=1:100, % computation here % waitbar(i/100) end close(h) ; %%%%%%%%%%%%%%%%%%错误的初始密钥 l=linspace(0,0,m*n); l(1)=0.9800001; for i=2:m*n l(i)=1-2*l(i-1)*l(i-1); end [lsort,lindex]=sort(l); ofyError=zeros(m,n); for i=1:m*n ofyError(lindex(i))=ozl(i); end %%%%%%%%%%%%%%%%%%错误的初始密钥 subplot(2,2,1),imshow(o);%,title('原始图像'); title('(a)原始图像','position',[33.5 80.28]); subplot(2,2,2),imshow(ozl,[]);%,title('加密图像'); title('(b)加密图像','position',[33.5 80.28]); subplot(2,2,3),imshow(ofy,[]);%,title('复原图像'); title('(c) 正确密钥解密','position',[33.5 80.28]); subplot(2,2,4),imshow(ofyError,[]);%,title('复原图像'); title('(d) 错误密钥解密','position',[33.5 80.28]);

chaoticDemo2e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一种功能强大的编程语言,可以用于多种领域,包括图像处理。图像混沌是一种基于混沌理论的图像加密技术,可以有效地保护图像的安全性。本文将介绍如何在Python中实现图像混沌。 首先,我们需要理解混沌理论。混沌是一种有序与无序之间的状态,它表现出不可预测性和动态性。在图像加密中,我们可以利用混沌的这种特性来打图像像素的顺序,从而达到加密的效果。 接下来,我们需要选择一个合适的混沌映射算法。目前较为流行的算法包括Logistic、Henon和Tent等。这里我们以Logistic混沌映射算法为例。其核心公式为:xn+1 = rxn(1-xn),其中r为映射参数,x为状态变量。 具体实现时,我们先将图像进行像素分割,然后将每个像素的RGB三个分量作为Logistic混沌映射算法的输入参数,生成一个随机序列。随后,将每个像素的RGB三个分量按照随机序列的顺序进行换,即实现图像的混沌。最后,我们进行相反的操作,即使用相同的随机序列将像素的RGB分量再次进行换,达到解密图像的目的。 总之,Python图像混沌是一种有效的图像加密技术,实现起来相对简单。通过混沌映射算法的随机性,可以有效地增强图像的安全性,防止图像被非法获取或篡改。如果你想了解更多关于Python图像处理和混沌理论的知识,可以参考相关书籍和网络资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值