huangyz0918 / AndroidWM

An android image watermark library that supports steganography.
http://huangyz.name/AndroidWM/
Apache License 2.0
1.59k stars 202 forks source link

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

Open SnowWangj opened 5 years ago

SnowWangj commented 5 years ago

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

huangyz0918 commented 5 years ago

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

howtoplay commented 5 years ago

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

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

yhonet commented 3 years ago

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