【问题标题】:Matlab - Hide a 1MB file in an Image's invaluable bits (Watermarking) [closed]Matlab - 在图像的宝贵位中隐藏 1MB 文件(水印)[关闭]
【发布时间】:2016-09-07 08:26:44
【问题描述】:

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

谢谢大家。

【问题讨论】:

  • 我认为作业的目的是为了解决你在最后一句话中提到的问题。无论如何,这个问题对于 StackOverflow 来说太宽泛了。你需要一本书,而不是一段或两段。
  • “不幸的是,我对 Matlab 和图像处理一无所知。” – 这似乎是你真正的问题。我建议停下来花时间学习。 Go through some tutorials and watch some videos.
  • 我们不会为你做作业,但我建议从this post from Steve Eddins' blog开始。
  • 感谢大家的宝贵时间。我上面并不清楚,我实际上是在寻找可以自己阅读和学习的东西,而不是代码本身。

标签: matlab image-processing video-watermarking


【解决方案1】:

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

如果我们忽略以上内容,那么这就是你必须做的:

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

现在,从上面到实际的代码是一些工作。如果您没有使用matlab的经验,那将不容易。尝试阅读 matlab 中的 imread() 和位操作。当您有一些代码启动并运行时,请在此处发布以寻求帮助。

问候

【讨论】:

  • 谢谢,其实这就是我需要的。我不知道要寻找什么。
【解决方案2】:

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

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

此代码将显示窗口中的图像。

【讨论】:

    【解决方案3】:

    我认为您正在寻找的是隐写术而不是水印。

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

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

    相关话题:
    Image Steganography

    【讨论】:

    • 非常感谢您的回复。
    猜你喜欢
    • 2010-11-22
    • 2010-09-07
    • 2015-09-02
    • 2012-02-07
    • 1970-01-01
    • 2012-06-12
    • 2018-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多