在C#中保存Jpeg图像会更改像素

时间:2013-04-24 21:35:26

标签: c# image image-processing jpeg steganography

我编写了自己的代码,实现了Steganography项目来隐藏图像中的文本。代码完美无缺。

但是当我将图像保存到jpeg文件并再次打开时,数据会丢失,我会得到一个垃圾结果文本(好像像素没有正确保存到新图像中)

enter image description here

但是当我以Bmp格式保存图像时,我可以完美地获取隐藏文本,就好像像素被正确保存到输出图像中一样:

enter image description here

问题出在哪里?

2 个答案:

答案 0 :(得分:2)

你需要使用无损jpeg,很少有图书馆这样做(Pegasus,LeadTools) 如果您不能使用其中任何一个,那么您需要使用PNG。 .Net中的股票Jpeg压缩是有损的,因此像素将不相同。

答案 1 :(得分:0)

如果你想使用隐写压缩方法(如JPEG),你现有的算法显然不够健壮。

要查看在这种情况下 如何使用隐写术的示例,请查看the open source F5-steganography project