资源简介

基于MATLAB实现的采用混沌和小波相结合的方式实现的图像加密

资源截图

代码片段和文件信息

%该函数针对其中的近似系数和高频系数进行加密,以达到加密的效果(采用函数调用的形式,即构建一个hundungen函数)
clear all;
t0 = clock;%测试程序运行时间
im=imread(‘e:\lena.jpg‘);
im1=rgb2gray(im);%图像灰度化
im1=medfilt2(im1[3 3]);%图像平滑处理
%subplot(331);
%figure(1);
%imshow(im);%X为原始图像
%title(‘原始图像‘);
figure(2);
imshow(im1);
title(‘灰度化处理‘);
im1=double(im1);
[ca1ch1cv1cd1]=dwt2(im1‘bior3.7‘);%小波变换,获取图像的低频高频系数
figure(3);
subplot(231);
imshow(ca1[]);
title(‘图像近似‘);
subplot(232);
imshow(ch1);
title(‘低频水平分量‘);
subplot(233);
imshow(cv1);
title(‘低频垂直分量‘);
subplot(234);
imshow(cd1);
title(‘高频分量‘);
%以下为混沌加密算法
%以下为混沌加密算法
%以下为混沌加密算法
%以下为混沌加密算法
%以下为混沌加密算法
%以下为混沌加密算法
[MN]=size(ca1);
e=hundungen(MN0.1);
tt=0.1;
fca1=mod(tt*ca1+(1-tt)*e256);
subplot(235);
imshow(fca1[]);
title(‘加密‘);
im2=idwt2(ca1ch1cv1cd1‘bior3.7‘);
figure(4);
imshow(uint8(im2)[]);
title(‘灰度图像小波重构‘);
im3=idwt2(fca1ch1cv1cd1‘bior3.7‘);
figure(5);
imshow(uint8(im3)[]);
title(‘加密图像小波重构‘);
%以下为混沌解密算法
%以下为混沌解密算法
%以下为混沌解密算法
%以下为混沌解密算法
%以下为混沌解密算法
%以下为混沌解密算法
e=hundungen(MN0.1);
[fca1ch1cv1cd1]=dwt2(im3‘bior3.7‘);
fca2=(fca1-(1-tt)*e)/tt;
im4=idwt2(fca2ch1cv1cd1‘bior3.7‘);
figure(6);
imshow(uint8(im4)[]);
title(‘解密图像小波重构‘);
%置乱后图像的均值
figure(7);
subplot(221)
imhist(uint8(im1));
title(‘初始图像的直方图‘);
subplot(222)
imhist(uint8(fca1));
title(‘ca1系数加密之后的直方图‘);
subplot(223)
imhist(uint8(im3));
title(‘加密之后的直方图‘);
subplot(224)
imhist(uint8(im4));
title(‘解密之后的直方图‘);
ssy=sum(sum(im3));
uy=ssy/(M*N);%置乱后图像的均值
vy=sum(sum((im3-uy)^2));
ssx=sum(sum(im1));
ux=ssx/(M*N);%原图像的均值
vx=sum(sum((im1-ux)^2));
Variancey=vy/uy;%置乱后图像的方差
Variancex=vx/ux;%原图像的方差
DDD=Variancey/Variancex;%置乱度
etime(clockt0)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2008-08-07 16:22  tuxiangjiami8105\
     文件        2024  2008-04-24 12:25  tuxiangjiami8105\diaoyong.m
     文件         686  2008-04-27 20:38  tuxiangjiami8105\hundungen.m
     文件        1223  2007-11-29 11:22  tuxiangjiami8105\说明.txt

评论

共有 条评论