Matlab - 在图像的宝贵位中隐藏一个 1MB 的文件(水印)

Matlab - Hide a 1MB file in an Image's invaluable bits (Watermarking)

我必须使用 Matlab 将一个 1MByte 的字文件存储到一个 512x512 像素的图像中并再次提取它。我唯一知道的是我们必须删除图像中无价的部分(那些都是噪音的部分)并将我们的 fie 存储在那里。 不幸的是,我对 Matlab 和图像处理一无所知。

谢谢大家。

根据提供的数字,您不能。给定每像素 24 位,512x512 给出 6.2MBit。所以你的文档比你隐藏它的图像大。

如果我们忽略上面的内容,那么这就是你要做的:

  • 加载图像并转换为单位。
  • 屏蔽掉每个像素中的多个 LSB 位。
  • 将文档加载为二进制文件并将这些位填入您需要的位置 掩盖了其他人。

现在,从上面到实际的代码有点工作。如果您没有使用 matlab 的经验,这并不容易。尝试阅读 imread() 和 matlab 中的位操作。当你有一些代码和运行,然后post它在这里寻求帮助。

此致

在 matlab 中,您可以使用 imread() 读取图像 (详情:http://de.mathworks.com/help/matlab/ref/imread.html?s_tid=gn_loc_drop

Image = imread("Filename.jpg") 
figure()
imshow(Image)

此代码将在 Window 中向您显示图像。

我认为你要找的是隐写术而不是水印。

隐写术:
https://en.wikipedia.org/wiki/Steganography

这是一个包含文件的图片示例: http://marvinproject.sourceforge.net/en/plugins/steganography.html

相关主题:
Image Steganography