抗压缩 抗缩放 抗轻度 PS 抗微信非原图 图片加密隐写

2020-07-10 12:24:07 +08:00
 zzy8200

重新写了一下( 90%+ code) https://www.v2ex.com/t/391928

现在能做到色块不那么明显,更抗压缩。另外新增可以抗重度缩放 抗轻度 PS 。 这次写 code 加了很多注释,欢迎各位拿去做二次开发。

原图:

写入数据后进行微信非原图压缩:

如果允许色块再明显一点可以写入后进行轻度 PS, 比如苹果手机风格化:

如果允许色块非常明显还可以抗重度缩放:

前面三张图均能读出正确数据。

DEMO: http://stego.js.org/

GITHUB: https://github.com/zeruniverse/CryptoStego

3530 次点击
所在节点    分享创造
16 条回复
designer
2020-07-10 12:36:15 +08:00
支持了
jdhao
2020-07-10 13:18:36 +08:00
厉害了
GPU
2020-07-10 14:54:38 +08:00
上面三张图 jpb 我试了都不能读出数据,GitHub 上面的 png 就可以读出。
MinQ
2020-07-10 15:21:31 +08:00
抗翻拍不?
kop1989
2020-07-10 15:26:46 +08:00
赞,之前看过类似的数码水印技术。之前看的那个是直接通过转换可以显示人类可读的图像,可抗翻拍、抗裁切。不知道你这个原理是不是在可读图像基础上加了 ocr ?
zzy8200
2020-07-10 15:32:55 +08:00
@GPU 要选 level,上面三张分别是 level 2,3,5
zzy8200
2020-07-10 15:34:29 +08:00
@kop1989 不是 两个不一样。我这个是直接把文字编码写进去的,不是写字的形状
kop1989
2020-07-10 15:38:00 +08:00
@zzy8200 #7 👍,能不能大概说说编码的这种和绘制隐藏水印图像的,相对而言你认为哪个抗干扰能力更强
zzy8200
2020-07-10 15:44:13 +08:00
@kop1989 一定是水印更强啊,毕竟形状你怎么剪,怎么转,或者中间几笔断了,人都能认出来。编码的话错一个 bit 数据就不对了
kop1989
2020-07-10 15:46:22 +08:00
@zzy8200 #9 受教了
zzy8200
2020-07-10 16:30:24 +08:00
不抗。位置信息必须完全一致,所以也不抗裁剪。这个问题对隐写较难,可能你需要的是图片水印。
zzy8200
2020-07-10 16:31:19 +08:00
@MinQ 回复见#11
vertigo
2020-07-10 17:28:32 +08:00
巧了,我前段时间也写了一个同样内容的小程序,用来做 BwaterMark 的,但是有一种攻击很蛋疼,就是电脑截图,几乎完全对抗加密的,楼主有方法嘛
vertigo
2020-07-10 17:29:27 +08:00
@MinQ 手机拍屏幕无论在 github 还是百度贴吧,都是人人喊打的操作,肯定不可能
zzy8200
2020-07-11 01:48:44 +08:00
@vertigo 水印的话可以好解很多,毕竟不需要机读。翻拍强行要搞定是可以搞定的,应该有 deep learning 方法
no1xsyzy
2020-07-13 15:33:55 +08:00
@zzy8200 #9 其实 @kop1989 #5 提到的那个方法更抗各种操作,因为那个方法不是字形直接写上去,而是叠在频域里的,所以可以抗裁剪,因为裁剪不会很明显地影响频域信息。
抗缩放抗裁剪抗滤镜,不过还是不抗翻拍,因为摩尔纹+扭曲变形,一旦翻拍不太可能再找出频语水印。
你这个倒是可以用一些方式去做 calibration 复原,根本用不到 Deep Learning……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/688829

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX