【图像加密】基于matlab Logistic混沌图像加密与解密【含Matlab源码 1216期】
【摘要】
一、混沌图像加密与解密简介
混沌系统图像加密解密理论部分参考链接: 基于混沌系统的图像加密算法设计与应用
二、部分源代码
%加密程序
function b=jiami(a,s,h)
[m1,n1]=...
一、混沌图像加密与解密简介
混沌系统图像加密解密理论部分参考链接:
基于混沌系统的图像加密算法设计与应用
二、部分源代码
%加密程序
function b=jiami(a,s,h)
[m1,n1]=size(a(:,:,1));
x=zeros(1,m1+n1);
y=[1:m1+n1];
%然后, 用Logitic 映射产生混沌序列:
for n=1:m1+n1-1
x(1)=s;
q=h;
x(n+1)=q*x(n)*(1- x(n));
end
%排序行置乱
for f=1:m1-1
for h=f:m1
if x(f)>x(h)
k=x(f);
x(f)=x(h);
x(h)=k;
m=y(f);
y(f)=y(h);
y(h)=m;
c1=a(f,:,:);
a(f,:,:)=a(h,:,:);
a(h,:,:)=c1;
end
end
end
function b=jiemi(a,s,h)
[m1,n1]=size(a(:,:,1));
x=zeros(1,m1+n1);
y=[1:m1+n1];
%然后, 用Logitic 映射产生混沌序列:
for n=1:m1+n1-1
x(1)=s;
q=h;
x(n+1)=q*x(n)*(1- x(n));
end
%行置乱
for f=1:m1-1
for h=f:m1
if x(f)>x(h)
k=x(f);
x(f)=x(h);
x(h)=k;
m=y(f);
y(f)=y(h);
y(h)=m;
end
end
end
%列置乱
for f=m1+1:m1+n1-1
for h=f:m1+n1
if x(f)>x(h)
k=x(f);
x(f)=x(h);
x(h)=k;
m=y(f);
y(f)=y(h);
y(h)=m;
end
end
end
%行解密
for f=1:m1-1
for h=f:m1
if y(f)>y(h)
m=y(f);
y(f)=y(h);
y(h)=m;
c1=a(f,:,:);
a(f,:,:)=a(h,:,:);
a(h,:,:)=c1;
end
end
end
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。
原文链接:qq912100926.blog.csdn.net/article/details/119683639
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)