在图片上加隐藏的水印
- 原理
- Encode:
原图 --- 变换 ---> 变换域 + 水印 --- 逆变换 ---> 带水印图 - Decode:
带水印图 --- 变换 ---> 变换域
- Encode:
Usage: java -jar BlindWatermark.jar <commands> [args...]
commands:
encode <option> <input> <watermark> <output>
decode <option> <input> <output>
encode options:
-c discrete cosine transform
-f discrete fourier transform
-i image watermark
-t text watermark
decode options:
-c discrete cosine transform
-f discrete fourier transform
example:
encode -ft input.png watermark output.png
decode -fi input.png output.png
gradle build
原图:
加文字水印(DCT):
java -jar BlindWatermark.jar encode -ct gakki-src.png 测试test gakki-dct-text-ec.jpg
文字水印解码(DCT):
java -jar BlindWatermark.jar decode -c gakki-dct-text-ec.jpg gakki-dct-text-dc.jpg
加图片水印(DCT):
java -jar BlindWatermark.jar encode -ci gakki-src.png watermark.png gakki-dct-img-ec.jpg
图片水印解码(DCT):
java -jar BlindWatermark.jar decode -c gakki-dct-img-ec.jpg gakki-dct-img-dc.jpg
加文字水印(DFT):
java -jar BlindWatermark.jar encode -ft gakki-src.png 测试test gakki-dft-text-ec.png
文字水印解码(DFT):
java -jar BlindWatermark.jar decode -f gakki-dft-text-ec.png gakki-dft-text-dc.png
加图片水印(DFT):
java -jar BlindWatermark.jar encode -fi gakki-src.png watermark.png gakki-dft-img-ec.png
图片水印解码(DFT):
java -jar BlindWatermark.jar decode -f gakki-dft-img-ec.png gakki-dft-img-dc.png
DFT 输出图片格式必须要是 PNG