-2

我正在研究二进制图像中的隐写术。但我在 matlab 中实现时遇到问题。我想知道,如何在二进制图像中隐藏消息?而且,我如何在 matlab 中使用 m 文件或模拟来做到这一点?

4

3 回答 3

2

隐写术可以通过多种不同的方式完成,如果你想要特定的东西,你必须定义你到底需要什么。

同时,这里有一个例子:

编码:

  • 拍摄图像并使每个像素仅使用 24 位中的 23 位颜色(例如,将红色值的最低位设置为 0)
  • 这将为您的消息提供 W x H 位
  • 将您的消息一点一点地放入清除的像素中

解码

  • 按照放入的顺序从最低位的红色组件中提取位,然后……就是这样。
于 2010-06-16T08:02:00.203 回答
1

最近有一个关于 SO的类似问题, @Jacob的代码示例给出了很好的答案。

您还可以在 Advanced Matlab 网站上查看基于 LSB 的隐写术文章。

于 2010-06-16T15:07:23.740 回答
0

尝试使用 LSB 检查图像隐写术,然后您将知道如何实现。我已经为我的项目尝试过。

[fn, pn, FI] = uigetfile('*.jpg*','Select the Cover Image','multiselect','on');
coln=size(fn,2);
numberfile=coln;

for i=1:numberfile
    fn(i);
    entirefile=fullfile(pn,fn{i});
    fid=fopen(entirefile);
    fclose(fid);
end

I = imread([pn,fn{i}]);
fprintf('Cover Image Loaded ... \n\n')
[fn, pn] = uigetfile('*.txt','Select Text File')

这段代码只是举例如何实现,我用来选择多个帧,你根据需要使用。

于 2017-03-21T09:30:28.993 回答