重新写了一下( 90%+ code) https://www.v2ex.com/t/391928
现在能做到色块不那么明显,更抗压缩。另外新增可以抗重度缩放 抗轻度 PS 。 这次写 code 加了很多注释,欢迎各位拿去做二次开发。
原图:
写入数据后进行微信非原图压缩:
如果允许色块再明显一点可以写入后进行轻度 PS, 比如苹果手机风格化:
如果允许色块非常明显还可以抗重度缩放:
前面三张图均能读出正确数据。
DEMO: http://stego.js.org/
1
designer 2020-07-10 12:36:15 +08:00 via iPhone
支持了
|
2
jdhao 2020-07-10 13:18:36 +08:00 via Android
厉害了
|
3
GPU 2020-07-10 14:54:38 +08:00
上面三张图 jpb 我试了都不能读出数据,GitHub 上面的 png 就可以读出。
|
4
MinQ 2020-07-10 15:21:31 +08:00
抗翻拍不?
|
5
kop1989 2020-07-10 15:26:46 +08:00
赞,之前看过类似的数码水印技术。之前看的那个是直接通过转换可以显示人类可读的图像,可抗翻拍、抗裁切。不知道你这个原理是不是在可读图像基础上加了 ocr ?
|
9
zzy8200 OP @kop1989 一定是水印更强啊,毕竟形状你怎么剪,怎么转,或者中间几笔断了,人都能认出来。编码的话错一个 bit 数据就不对了
|
11
zzy8200 OP 不抗。位置信息必须完全一致,所以也不抗裁剪。这个问题对隐写较难,可能你需要的是图片水印。
|
13
vertigo 2020-07-10 17:28:32 +08:00
巧了,我前段时间也写了一个同样内容的小程序,用来做 BwaterMark 的,但是有一种攻击很蛋疼,就是电脑截图,几乎完全对抗加密的,楼主有方法嘛
|