盲水印(blind_watermark)

(没搞懂,不知道如何求wm_shape,如果wm_shape不对就无法正确提取)

  • 工具下载
pip install blind-waterblind # 适用于Linux与Windows

windows下安装的是.exe文件,在cmd中可以直接使用

输入blind_watermark.exe即可

  • 使用方法

    blind_water.exe -h # 查看其用法选项
    • 在终端中使用(文字)
    # 嵌入文本水印
    blind_watermark --embed --pwd 1234 ori_img.jpeg "watermark text" embedded.png 
    # 提取文本水印
    blind_watermark --extract --pwd 1234 --wm_shpe 111 embedded.png
    #wm_shape 是水印的形状
    • Python脚本
    # 嵌入
    from blind_watermark import WaterMark
    
    bwm1 = WaterMark(password_wm=1, password_img=1)
    # read original image
    bwm1.read_img('pic/ori_img.jpg')
    # read watermark
    bwm1.read_wm('pic/watermark.png')
    # embed
    bwm1.embed('output/embedded.png')
    # 提取
    bwm1 = WaterMark(password_wm=1, password_img=1)
    # notice that wm_shape is necessary
    bwm1.extract(filename='output/embedded.png', wm_shape=(128, 128), out_wm_name='output/extracted.png', )

图片

# 嵌入
from blind_watermark import WaterMark

bwm1 = WaterMark(password_wm=1, password_img=1)
# read original image
bwm1.read_img('pic/ori_img.jpg')
# read watermark
bwm1.read_wm('pic/watermark.png')
# embed
bwm1.embed('output/embedded.png')
# 提取
bwm1 = WaterMark(password_wm=1, password_img=1)
# notice that wm_shape is necessary
bwm1.extract(filename='output/embedded.png', wm_shape=(128, 128), out_wm_name='output/extracted.png', )

另一个盲水印

项目地址

建议安装在Linux下,选择Python3版本
  • 使用方法
python3 bwmforpy3.py decode 原图 加密的图 输出的图

根据官方文档,如果不能正确的解密,则在最后加上--oldseed,这是因为random在不同的版本算法是不同的

题目4-1
Last modification:February 10, 2023
请我喝瓶冰阔落吧