【问题标题】:android steganography安卓隐写术
【发布时间】:2011-06-06 01:58:21
【问题描述】:

我正在尝试在 Android 上实现隐写术……但是位图在存储时会被压缩,这会改变像素值。有没有其他方法来存储图像?

提前致谢!!

【问题讨论】:

  • android steganography 的可能重复项
  • 我将此标记为您的新问题的副本,因为您在那里提供了更多详细信息。不要重复同样的问题。

标签: android steganography


【解决方案1】:

您应该为您的应用程序使用无损压缩方法,因为常见的带有损失的压缩方法(例如 JPG)会破坏您检查过的水印数据。看看Bitmap Compression formats,似乎只有 JPG 和 PNG 压缩格式可用。阿法克png 是一种无损压缩方法,因此您可以使用它来保存数据。

【讨论】:

    【解决方案2】:
    FileOutputStream fos = new FileOutputStream(filename);
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
    

    尝试将 100 作为压缩质量的最大值传递,这样您就可以无缝压缩 bmp。

    【讨论】:

    • 我尝试使用 bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);但是压缩前和压缩后图像的 pix[0] 值不同,所以我无法提取原始数据
    • 你可以看看这个 - source-code.biz/base64coder/java 这是一些用于将图像编码/解码为字节流的库(然后你可以将字节流保存到 SD 卡中)。
    猜你喜欢
    • 2012-01-20
    • 2014-07-11
    • 2020-03-12
    • 1970-01-01
    • 2011-02-17
    • 2017-11-05
    • 2014-06-04
    • 2014-10-04
    相关资源
    最近更新 更多