Code Monkey home page Code Monkey logo

blind_watermark's Introduction

blind-watermark

基于傅里叶变换的数字盲水印

如何使用

嵌入水印

from blind_watermark import WaterMark

bwm1 = WaterMark(4399, 2333, 36, 20)

# 读取原图
bwm1.read_ori_img('pic/原图.jpg')

# 读取水印
bwm1.read_wm('pic/水印.png')

# 打上盲水印
bwm1.embed('output/打上水印的图.png')

提取水印

from blind_watermark import WaterMark

bwm1 = WaterMark(4399, 2333, 36, 20, wm_shape=(128, 128))
# 注意需要设定水印的长宽wm_shape
bwm1.extract('output/打上水印的图.png', 'output/解出的水印.png')

效果展示

原图 水印
原图 水印
嵌入后的图 提取的水印
提取的水印

各种攻击后的效果

攻击方式 攻击后的图片 提取的水印
多遮挡
多遮挡攻击.py
多遮挡 多遮挡_提取水印
横向裁剪10%
横向裁剪攻击.py
横向裁剪
纵向裁剪10%
纵向裁剪攻击.py
纵向裁剪 纵向裁剪
缩放攻击(1200X1920->600X800)
缩放攻击.py
椒盐攻击
椒盐击.py
亮度提高10%
亮度调高攻击.py
亮度调低10%
亮度调暗攻击.py

未能抵抗的攻击

  • 90度旋转打击:缩放还原后无法复原,但旋转回来后可以(旋转回来后就是原图)。
  • 加白色边框攻击:攻击时增加5个纯白像素,还原时用resize,效果很差。
  • 裁剪图像中的一部分,然后把这部分放大。无法还原。正确的做法是使用循环填充
  • 旋转攻击:还没做

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.