Comments (4)
找到了一种基于差分编码的方法,感觉挺有效,来跟po主讨论下:)
https://www.researchgate.net/publication/280873467_Blind_image_watermarking_technique_based_on_differential_embedding_in_DWT_and_DCT_domains
基本思路是将图像小波变换后,zigzag均分成两个等长的部分,根据经验,这两个部分的相关性很高,所以DCT系数是基本相等的。利用这个性质可以在把watermark以差分的形式打到两个DCT序列的相同索引。这种方式对图像造成的影响很小(尤其是平坦区),而且对亮度变化是鲁棒的。
原文是在全图尺寸做变换和打水印,DWT和DCT的运算成本都太大了。基于po主的代码可以很方便把文中的**按8*8的block的实现,而且效果还不错。
结论如下:
- 对画质损伤小,PSNR一般在40dB以上。尤其是对平坦区的影响很小,因此,即便是在相同PSNR下,肉眼画质损伤情况也要小于po主的方式
- 对裁剪、亮度变换是鲁棒的
- 完全不抗模糊、压缩、scale等损失高频的攻击
可见这个方式跟po主的方法刚好是互补的,po主的方法能扛得住高频攻击,但扛不住低频攻击,另外画质损伤(尤其平坦区)较为严重。我这里后来将po主的方式和上面的方式做到了一起,相当于给图像打了两层水印,效果还可以,po主可以尝试一下哈~
如果po主有更好的方式,欢迎继续交流:)
from blind_watermark.
👍
确实是个问题,容我调研一下
from blind_watermark.
嗯嗯 持续关注中
from blind_watermark.
DCT
请问有开源代码吗?
from blind_watermark.
Related Issues (20)
- Unable to extract the watermark HOT 4
- 选择多进程mode, 无法运行报下面的错误 HOT 2
- It will report RuntimeError when it run under multithreading HOT 2
- 能抗格式转换吗? HOT 1
- 被截图裁剪后的图片,提取水印的时候wm_shape要怎么配呢?直接用加水印时候的len_wm解出来乱码了 HOT 5
- 截图图片必须跟原图尺寸大小一样才能解码成功 HOT 3
- 增加水印后,图像的质量下降了 HOT 1
- 增加GUI HOT 1
- 解码时乱码,数字也乱码 HOT 2
- 这个项目是什么用途? HOT 1
- 可否直接用于视频添加水印? HOT 4
- 解码的时候wm_shape该怎么填,难不成要我自己存起来吗
- 当打上水印的图片再次打上水印时的问题 HOT 2
- 请问有相关论文说明原理吗? HOT 4
- 文档链接404
- 弄个docker版本吧
- 这个项目真的很好,不知道能不能打包成exe文件呢?想用GUI桌面工具来调用这个批量给图片添加水印 HOT 1
- 如果原图解密是能根据两个密码解出来,但是一截图或者画图本缩放就不行了 HOT 1
- 没能抵挡多少个攻击,你文档怎么瞎写?
- 没能抵挡多少个攻击,你文档怎么瞎写? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blind_watermark.