BlindWatermark
BlindWatermark copied to clipboard
使用盲水印保护创作者的知识产权using invisible watermark to protect creator's intellectual property
盲水印实际指的是提取时不需要原图的水印,可以参考这一篇的Introduction部分: [Barni M, Bartolini F, Cappellini V, et al. A DCT-domain system for robust image watermarking[J]. Signal processing, 1998, 66(3): 357-372.](https://home.cis.rit.edu/~cnspci/references/dip/watermarking/barni1998.pdf)
加密问题
你要不考虑使用非对称加密
密钥和签名个人认为可以使用RSA这一非对称加密形式,只要私钥保存在太太手里就能有效防止反向破解,可以使用openssl实现 甚至可以使用Let's Encrypt或自签名GPG证书生成密钥和签名,保证密钥的公信力 算法方面也可以尝试对图片进行FFT之类的操作做水印
文献出处?
不知这个方法是否有文献出处?没有的话完全可以发一篇文章了!并且如果是原创的话建议给这个方法取个名字,加个版本号,甚至申请个专利什么的 我多年前有实现这个功能的想法,但是没有相关的知识储备,被您做出来了真是太棒了!以后有机会我会常识把它移植到C++/C#进行高效处理!
RBG其中某一两个通道的值总体增加一点,再加上25-50%的jpg压缩,在肉眼较难分辨的情况下,可以对水印造成极大破坏。 如果想要提高抵抗性,就不能发未压缩过的原图,得先压成AV画质打上隐水印再发出去
> 感谢作者,感觉还挺好用的。 > 代码还没细看,先跑了点测试。然后有些问题请教一下。 # 加了个jpg压缩的参数 ``` cv2.imwrite(output_filename, img_data, [int(cv2.IMWRITE_JPEG_QUALITY), 90]) ``` png也有对应的IMWRITE_PNG_COMPRESSION,但那个有损得比较厉害,不太用到。 jpg的还是挺常用的。 # 做了一些测试 ## 同水印大小不同源图大小 - plot_src**256**_wm32_block4_jpg60-100_mod16-32  - plot_src**512**_wm32_block4_jpg60-100_mod16-32  - plot_src**1024**_wm32_block4_jpg60-100_mod16-32  > 显然大图包含信息更多,还原更精准。(横坐标为jpg品质,纵坐标为mod) ##...
是跟图像隐写相关的吗,之前看过一下图像隐写,加密这部分一直不行
只有Windows版Mac用户表示一言难尽
感谢开源!对您的项目很感兴趣,未来是否有可能添加视频处理模块将输入延伸到视频?另:可以提pull request吗?
彩色图的水印如何操作呢