huangyz0918/AndroidWM

请问:空域 LSB 水印添加之后,截屏,再用程序decode时,解不出来,为什么呢?

SnowWangj opened this issue · 3 comments

请问:空域 LSB 水印添加之后,截屏,再用程序decode时,解不出来,为什么呢?抗干扰能力弱的原因吗?

截屏相当于加了一层滤镜,破坏了隐藏在空间域像素中的冗余信息。

截屏相当于加了一层滤镜,破坏了隐藏在空间域像素中的冗余信息。

先截屏,再加水印,此时获取的回调中的Bitmap是可以解析的,但是将Bitmap保存为图片之后再将图片拿出来解析就解析不出来了,这是为什么?

LSB算法是利用每个像素各个颜色值的最低位来存储水印的,因此天生抗干扰能力弱。即使是最简单的旋转、剪切、调色、压缩等等会修改像素位置或者颜色值的操作就会破坏水印的数据。更不要说另外拿个相机对着屏幕拍下来再另存了。要对抗这些破坏水印的操作得用别的水印算法。