Skip to content

Yxiaojian/BlindWaterMark

 
 

Repository files navigation

BlindWaterMark


Build Status

Java 盲水印 在图片上加肉眼无法分辨的水印

  • 原理

    • Encode:
      原图 --- 傅立叶变换 ---> 频域图 + 水印 --- 逆变换 ---> 带水印图
    • Decode(文字水印):
      带水印图 --- 傅立叶变换 ---> 频域图
    • Decode(图片水印):
      原图 --- 傅立叶变换 --> 原图频域图
      带水印图 --- 傅立叶变换 ---> 频域图 - 原图频域图
  • 文件
    ├── gakki-img-dc.png * 反解水印图(图片水印)
    ├── gakki-text-dc.png * 反解水印图(文字水印)
    ├── gakki-wm-img.png * 带图片盲水印的图
    ├── gakki-wm-text.png * 带文字盲水印的图
    ├── gakki.png * 原图
    └── wm.png * 图片水印

Usage:

Usage: java -jar BlindWaterMark.jar <commands> [args...]
    commands:
            encode <option> <image-src>  <watermark-text>       <image-encoded(text)>
            encode <option> <image-src>  <watermark-image>      <image-encoded(image)>
            decode <image-encode(text)>  <image-decode>
            decode <image-src>           <image-encoded(image)> <image-decode>
    options:
            -i add image watermark
            -t add text  watermark

Build:

会下载所有平台的二进制文件并打包(大概 250M),可以在发布页下载android-arm, linux-x86_64, macosx-x86_64, windows-x86_64各个平台的包.

  • 打包成jar

    gradle build

Demo:

原图:

image

加文字水印:
java -jar BlindWaterMark.jar encode -t gakki.png mywife gakki-wm-text.png

image

加图片水印:
java -jar BlindWaterMark.jar encode -i gakki.png wm.png gakki-wm-img.png

image
image

文字水印解码:
java -jar BlindWaterMark.jar decode gakki-wm-text.png gakki-text-dc.png

image

图片水印解码:
java -jar BlindWaterMark.jar decode gakki.png gakki-wm-img.png gakki-img-dc.png

image

About

Java盲水印

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%