【图像隐藏】基于DCT域的屏蔽图像信息隐藏算法(Matlab实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

基于离散余弦变换(Discrete Cosine Transform,DCT)域的图像信息隐藏算法是一种常用的隐写术,用于将秘密信息嵌入到图像中,同时尽可能地保持图像的视觉质量。首先,将载体图像和待隐藏信息分别转换到DCT域。DCT是一种常用的频域变换方法,将图像转换为一组频率分量,其中包含了图像的重要特征。待隐藏信息通常需要进行编码,以便嵌入到载体图像中。编码过程可能包括差错控制码、加密等技术,以确保信息的完整性和安全性。如果需要,可以在嵌入信息的同时,也可以嵌入水印以提供额外的安全性和鉴别能力。水印通常是一种可识别的标识,用于验证图像的真实性和完整性。对嵌入信息的载体图像进行解码和提取,以恢复原始的隐藏信息。这包括识别和提取嵌入在图像中的信息,以及解密(如果有)编码的信息。基于DCT域的图像信息隐藏算法在数字水印、版权保护、身份验证等领域有着广泛的应用。它能够在保护信息安全的同时,不显著损害图像的视觉质量,因此在实际应用中得到了广泛的应用和研究。

📚2 运行结果

主函数部分代码:

%%
%%
tic
% 加载图片,选择小块(bitsize)大小
clear
close
clc
cprintf('text','*********************************************\n');
% 加载载体图像(image)与待隐藏图像(info)
addr=strcat(char(pwd),'/image.jpg');
image=double(imread(addr));
addr=strcat(char(pwd),'/info.jpg');
info=double(imread(addr));

subplot(241);
imshow(image,[]);
title('Original image');
subplot(242);
bar(Histogram(image));

subplot(243);
imshow(info,[]);
title('Embed image');
subplot(244);
bar(Histogram(info));

scale=[20,20];
[carry,pixel]=Carryinfor(image,scale);
%%
if (length(info(:))+3)>carry
   cprintf('err','Info is too large\n');
   clear
   close
   return
else
    bitsize=scale;
    cprintf('k','bitsize [%d,%d]   pixel %d\n',scale(1),scale(2),pixel);
end

% 生成嵌入数据流:头部+数据信息,头部为:嵌入像素数+数据信息校验+待嵌入图像的高度
cprintf('text','Create Data Stream...\n');
info=[pixel;size(info,1)*size(info,2)+3;size(info,1);info(:)];
info=info/255;
clear addr scale carry
%%
% 载体分块做DCT变换,分离信息量与冗余量,对2维块矩阵做Z型扫描,存储为bitsize维块向量,
% 将嵌入数据流嵌入到载体中的冗余量,嵌入度为0.25每小块
cprintf('text','Discrete Cosine Transform...\n');
imdata=matpart2col(image,bitsize,'DCT');
cprintf('text','Insert Data Stream...\n');
t=1;
for i=1:round(size(info,1)/pixel+0.49)
    for j=0:pixel-1
        if t==size(info,1)
            break
        end
        imdata(size(imdata,1)-j,i)=info(t);
        t=t+1;
    end

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]张晓虹,项世军,黄红斌.利用可逆网络的音频藏图算法[J/OL].西安电子科技大学学报:1-14[2024-05-15].https://doi.org/10.19665/j.issn1001-2400.20240303.

[2]刘志强. 结合混沌系统和压缩感知的图像加密算法研究[D].西安理工大学,2024.DOI:10.27398/d.cnki.gxalu.2023.000393.

🌈4 Matlab代码实现

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值