文字隐写术-盲水印研究笔记【原创】
作者:互联网
gitee 开源代码(java)
https://gitee.com/chejiangyi/shuiyin/tree/master需求概述
研究盲水印对于版权保护的效果和能力研究尝试概述
水印实现: 大部分的python或者java算法都基于频域的盲水印效果。 涉及的算法: 傅里叶变换。 开源相关: 大部分是python算法居多,也有java的一些傅里叶实现,少部分其他语言实现。 涉及的框架: opencv (用来处理图片)图片盲水印方式
1. 二维码(本质是图片) 盲水印(未尝试) 2. 图片盲水印(初步尝试,未深入,初步效果不佳) 3. 文本盲水印(已尝试) 图片盲水印:初步尝试一个傅里叶算法,发现在截图等复杂场景干扰下,似乎没有文本盲水印抗干扰能力强;但是没有深入印证其他多种算法效果。 文本盲水印:经过几轮尝试,发现文本盲水印会效果好,但是在一些场景下图片会有一些失真(对比原图),色泽会变浅。 在其他抗干扰(截图,缩放,涂改)情况下效果还可以。图片失真的情况,在不同傅里叶算法中,效果不一样,有些不失真,但是效果抗干扰能力差。文本盲水印尝试详解
一. 目前java 有三种demo沉淀
第一种: 第二种:第三种:
整体算法代码行不多,核心在于算法本身,具体算法实现原理网上论文很多,但是真正能商用的效果不好。 dct 一般用于图片算法,dft 一般用于文本算法,当然文本也可以以图片的方式显示中文。 三种总体效果都差不多,但是在干扰情况下差异还是很大的。 引用网上的一段盲水印的注意点描述: 目前没有用真实的图片效果和实际场景做测试,从而排除额外的一些情况,所以没办法确定真实的场景是否有效,或者是否可以规避一些不可能存在的实际场景。初步与产品确认,测试效果还可以,但不是很理想,比如一些截图30%,20%的情况下,部分图片信息无法有效还原“盲水印”。一些非原图处理(比如采用微信和飞书截图)之后,图片变成jpg压缩,此时盲水印可能无法有效还原检测,原图或者加水印后的图尽量都使用png或者bmp。加水印后,图片会有略微明显的色泽变化(但是其中有些算法好像变化不大,没有大范围细节测试,但是这种情况带来抗干扰能力差较多)。二. 目前python 效果测试
python 是目前盲水印算法最多的案例和demo,在github上发现一些python算法一般加的是图片盲水印(非文字盲水印),但是没有详细测试效果(主要是没精力)。网上fork数或者关注数多的盲水印,实际测试效果并不佳。比如:https://github.com/guofei9987/blind_watermark 这个盲水印可以支持文字隐藏,但是实际进行截图和干扰的时候发现文字水印无法如期提取,跟实际描述的文档有较大差异,可能是姿势不对。其他的水印效果未深入,未来有更多精力后再深入投入实际场景做验证。三. 云服务测试
目前云服务中支持的,主要有七牛云和腾讯云,七牛云更偏图片处理,所以用七牛云做测试(腾讯云未测)但是实际效果也不是很理想。 七牛云盲水印恢复靠的是原始图片(可能是通过水印图和原始图对比),从而恢复水印(这种手法可能要与产品商量实际场景行不行),同样也有version 3第三种算法实现盲水印,可以在水印图中提取水印。经过测试version 3的实现,在图片截图和缩放等干扰情况下,恢复水印的能力会差很多,丢失的信息更多,不如网上的一些开源算法,所以云服务效果不尽如意。总结笔记
盲水印总体效果不是很成熟,但是作为辅助版权验证应该还是可以的(除了图片会增加一些大小),关键还是在于实际业务场景。 同时自身也不是图片处理相关专家,很多细节和参数也不敢调整,也无法真正有效结合实际业务场景发挥和调优算法。 所以真正落地盲水印,后续需要在几个方面努力: 1)需要专职的一名图片处理专家或者外聘专家支援。 2)大量的实际场景的图片和用户干扰的案例图做多次验证。 3)通过机器学习进行算法参数调优。测试效果示例
常用案例测试: 实际案例测试: 盲水印部分截图干扰测试: 盲水印部分截图/缩放干扰测试:参考资料
隐性水印或是叫盲水印软件介绍 https://ningbocat.com/post/1613.html 有意思的数字盲水印的简单的实现 https://www.cnblogs.com/Imageshop/p/10097854.html opencv https://opencv.org/ 隐写术 https://www.jianshu.com/p/08041bcf0f23 隐藏水印几个注意点 https://blog.csdn.net/linyacool/article/details/71506638 java 水印代码 https://github.com/ww23/BlindWatermark/ https://github.com/maohuihua123/BlindWatermark https://github.com/aaronwong1989/blind-watermark https://github.com/hanbings/moe-mark python https://github.com/guofei9987/blind_watermark jpg截图等场景下几乎无法还原。 https://github.com/fire-keeper/BlindWatermark 非文字水印 第三方云服务 七牛云 https://developer.qiniu.com/dora/5915/blind-watermarking-processing 腾讯云 https://cloud.tencent.com/document/product/436/46781 by 车江毅 2022-6-13标签:效果,笔记,算法,水印,https,隐写术,com,图片 来源: https://www.cnblogs.com/chejiangyi/p/16374012.html