【图像加密】基于混沌编码实现图像加密解密(PSNR和SNR)附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

随着信息爆炸时代的到来,图像信息的高效与安全传输问题迫切需要解决.从系统的角度出发,利用MATLAB平台,设计并实现了一种新的图像压缩与加密方法.首先分析了logistic混沌系统和DCT运算解码等原理和方法;然后基于MATLAB GUI界面开发方法,把多个相关模块串联到一起,进而设计了融合图像压缩,加密,编码,传输的数字通信系统.该研究对图像高速传输与安全性能的提高具有重要的实际意义,对于同类设计具有一定的指导作用.

⛄ 部分代码

function s=IQA2(origin_file, process_file)

clc

% 读取图像

img = imread(origin_file);

jmg = imread(process_file);

% 计算熵

s.entropy = [get_entropy(img) get_entropy(jmg)];

% 计算PSNR

[psnr_value,snr_value] = psnr(jmg, img);

s.psnr = psnr_value;

s.snr = snr_value;

% 文件大小

info1 = imfinfo(origin_file);

info2 = imfinfo(process_file);

% 输出结果

fprintf('\n原文件大小为%d byte,信息熵为%.3f,处理后文件大小为%d byte,信息熵为%.3f,压缩比为%.2f,处理后PSNR=%.2f,SNR=%.2f。\n', info1.FileSize, s.entropy(1), info2.FileSize, s.entropy(2), info1.FileSize/info2.FileSize, psnr_value, snr_value);

s.rate = info1.FileSize/info2.FileSize;

function res = get_entropy(x)

% 计算熵

n = 2^8;    

x = double(x(:));      

% 计算频次

y = hist(x, n);          

% 计算概率

y = y / sum(y(:));            

% 消除0干扰

y(y==0)=eps;

% 计算熵值

res = -sum(y .* log2(y));       

⛄ 运行结果

⛄ 参考文献

[1] 谷胜献. 基于混沌和DNA编码的图像加密算法设计[D]. 大连理工大学, 2015.

[2] 侯玉涛. 基于混沌和DNA编码的图像加密方案研究[D]. 大连理工大学, 2018.

[3] 邵开丽, 赵攀, 袁夫彩,等. 基于MATLAB的图像压缩加密编码设计及实现[J]. 黄河科技学院学报, 2023, 25(2):6.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值