【发布时间】:2013-04-18 15:10:36
【问题描述】:
我编写了自己的代码来实现隐写术项目来隐藏图像中的文本。代码完美运行。
但是当我将图像保存到 jpeg 文件并再次打开时,数据丢失,并且我得到一个垃圾结果文本(好像像素没有正确保存到新图像中)
但是当我将图像保存为Bmp格式时,我可以完美地得到隐藏的文本,就好像像素正确保存到输出图像中一样:
那么问题出在哪里?
【问题讨论】:
-
Jpeg 压缩是一种有损算法。所以
Steganography不能使用 Jpeg -
bmp 是一种非常古老的文件格式,压缩率很低(如果有的话?),您可能希望另存为 .png
-
正如@I4V 指出的那样,如果您修改单个像素以存储隐藏值,则不应使用 jpg 作为输出格式。 png 也是有损的,所以 bmp 可能是最好的选择。
-
...而且 bmp 是无损格式,所以隐写术有效。您可以使用其他无损格式,例如 .png 或 .gif。
-
我刚刚尝试了 PNG 格式,它正在工作。感谢大家的帮助。
标签: c# image image-processing jpeg steganography