当前位置: 首页 > news >正文

秘密信息嵌入到RGB通道的方式:分段嵌or完整嵌入各通道

目录

1. 将秘密信息分为三部分的理由

(1)均匀分布负载

(2)提高鲁棒性

(3)容量分配

2. 不将秘密信息分为三部分的情况

(1)嵌入容量

(2)视觉质量

(3)鲁棒性

3. 如何选择

4. 代码实现

(1)将秘密信息分为三部分

(2)将相同的秘密信息嵌入到三个通道

5. 总结


1. 将秘密信息分为三部分的理由

将秘密信息分为三部分,分别嵌入到 R、G、B 三个通道中,主要是基于以下考虑:

(1)均匀分布负载
  • 如果将秘密信息均匀分配到三个通道中,每个通道的负载会减少,从而降低对单个通道的影响。

  • 这有助于保持图像的视觉质量,因为每个通道的修改量较小。

(2)提高鲁棒性
  • 如果某个通道在传输或处理过程中受到干扰(例如压缩、噪声等),其他通道仍然可以保留部分秘密信息。

  • 这种分布方式可以提高整体系统的鲁棒性。

(3)容量分配
  • 如果秘密信息较长,分配到三个通道中可以更好地利用图像的嵌入容量。


2. 不将秘密信息分为三部分的情况

如果你选择将相同的秘密信息嵌入到 R、G、B 三个通道中,也是可行的,但需要注意以下几点:

(1)嵌入容量
  • 每个通道都嵌入相同的秘密信息,相当于将嵌入容量增加了三倍。

  • 但这种方式可能会浪费容量,因为三个通道中存储的是相同的信息。

(2)视觉质量
  • 在三个通道中嵌入相同的信息,可能会导致图像的视觉质量下降更明显,因为每个通道都被修改了。

(3)鲁棒性
  • 如果某个通道受到干扰,其他通道中仍然保留了相同的信息,这可以提高鲁棒性。

  • 但这种方式也可能增加被检测到的风险,因为三个通道的修改模式相同。


3. 如何选择

选择是否将秘密信息分为三部分,取决于你的具体需求:

  • 如果需要更高的嵌入容量:可以将秘密信息分为三部分,分别嵌入到 R、G、B 通道中。

  • 如果需要更高的鲁棒性:可以将相同的秘密信息嵌入到 R、G、B 通道中。

  • 如果对视觉质量要求较高:建议将秘密信息分为三部分,均匀分布到三个通道中。


4. 代码实现

以下是两种方式的代码实现示例:

(1)将秘密信息分为三部分
% 将秘密信息分为三部分
msg_r = msg(1:floor(msg_length/3)); % R 通道
msg_g = msg(floor(msg_length/3)+1:floor(2*msg_length/3)); % G 通道
msg_b = msg(floor(2*msg_length/3)+1:end); % B 通道

% 对每个通道进行嵌入(embed是自己的嵌入函数)
[r_stego, ~] = embed(r_channel, msg_r, m); % 嵌入到 R 通道
[g_stego, ~] = embed(g_channel, msg_g, m); % 嵌入到 G 通道
[b_stego, ~] = embed(b_channel, msg_b, m); % 嵌入到 B 通道

% 合并通道
stego_rgb = cat(3, r_stego, g_stego, b_stego);
(2)将相同的秘密信息嵌入到三个通道
% 将相同的秘密信息嵌入到 R、G、B 通道
[r_stego, ~] = embed(r_channel, msg, m); % 嵌入到 R 通道
[g_stego, ~] = embed(g_channel, msg, m); % 嵌入到 G 通道
[b_stego, ~] = embed(b_channel, msg, m); % 嵌入到 B 通道

% 合并通道
stego_rgb = cat(3, r_stego, g_stego, b_stego);

5. 总结

  • 分为三部分:适合需要均匀分布负载、提高鲁棒性或嵌入容量较大的场景。

  • 嵌入相同信息:适合需要提高鲁棒性、且对嵌入容量要求不高的场景。

相关文章:

  • uniapp语音时的动态音波的实现
  • 木材表面缺陷检测数据集,支持YOLO+COCO JSON+PASICAL VOC XML+DARKNET格式标注信息,平均正确识别率95.0%
  • Linux 服务器部署deepseek
  • 多媒体术语扫盲备忘录
  • SAP-ABAP:SAP的Screen Layout Designer屏幕布局设计器详解及示例
  • c#中“事件-event”的经典示例与理解
  • nsc account 及user管理
  • .NET 9.0 的 Blazor Web App 项目,进度条 <progress> 组件使用注意事项
  • DeepSeek全生态接入指南:官方通道+三大云平台
  • 论文笔记:Multi-Head Mixture-of-Experts
  • Flutter 双屏双引擎通信插件加入 GitCode:解锁双屏开发新潜能
  • 麒麟操作系统-rabbitmq二进制安装
  • React 高级教程
  • 【ArcGIS Pro二次开发】(87):样式_Style的用法
  • 【Spring AI】基于SpringAI+Vue3+ElementPlus的QA系统实现(前端)
  • flutter ListView Item复用源码解析
  • MySQL Workbench工具 导出导入数据库
  • spring学习(spring-DI(setter注入、构造器注入、自动装配方式))
  • 在 CentOS 系统中配置交换空间(Swap)解决内存不足
  • Android和DLT日志系统
  • 人民日报钟声:国际社会应共同维护科学溯源的正确方向
  • 媒体:酒店、民宿临时毁约涨价,怎么管?
  • 特朗普加征关税冲击波:美国零售、汽车、航空、科技企业纷纷预警业绩波动
  • 国台办:台商台企有信心与国家一起打赢这场关税战
  • 特朗普执政百日集会吹嘘政绩,美国消费者信心指数跌至疫情以来最低
  • 卸任兰大校长后,严纯华院士重返北大作报告