2

我正在使用http://github.com/anirudhsama在图像中隐藏一个文本文件,它工作正常,我可以用我的程序再次提取文本文件。

但是当我以编程方式在 facebook、twitter 和电子邮件中共享图像时,该共享图像未正确解码,因此我无法取回文件。

我按如下方式检索图像:

UIImage *finalImageWithStegno = [UIImage imageWithContentsOfFile:fileName]; 
4

2 回答 2

5

我怀疑是上传到网站时的图像压缩。检查这一点的一种简单方法是在封面图像中隐藏一条消息(获取隐秘图像)。将图像上传到网站并下载。将原始的 stego 图像与下载的图像进行比较。如果它们不同(逐字节),那就是你的问题。

快速浏览一下代码,该应用程序似乎将数据隐藏在空间域中,这并不可靠。您的信息直接隐藏在图像像素中,如果它们发生变化(由于有损压缩、模糊等),您的信息将会丢失。对此的解决方案是将数据隐藏在频域中。另一种解决方案可能是上传具有未压缩文件类型的图像?我不太了解网站如何处理图像,因此第二个建议可能是不可能的。

在任何情况下,如果上传到网站会扭曲图像,请四处寻找可能为您服务的其他应用程序,除非您可以自己编码。然后我们可以进入细节。:)

于 2013-04-19T23:59:35.133 回答
0

您的算法不稳健。使用变换域隐写术在重新编码时保留信息。您可以选择嵌入 DCT 系数或 DWT 系数以获得更好的鲁棒性。

于 2013-04-19T13:42:49.363 回答