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
我必须使用 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