+-
图片盲水印的嵌入和提取,无需原图即可提取水印,项目一天涨快 1000 Start,AI文生图开始抓版权了?

blind_watermark

图片盲水印,提取水印无须原图!

很早之前就分享过,一年多没更新了,怎么项目最近热度噌噌噌地长,是厂商都在搞图片盲水印了吗?然后各大文生图平台开始溯源了?

Github地址

https://github.com/guofei9987/blind_watermark

图片盲水印的嵌入和提取,无需原图即可提取水印,项目一天涨快 1000 Start,AI文生图开始抓版权了?

图片盲水印的嵌入和提取,无需原图即可提取水印,项目一天涨快 1000 Start,AI文生图开始抓版权了?

项目功能

  • 核心功能

    :实现图片盲水印的嵌入和提取,无需原图即可提取水印。

  • 支持的水印类型:
    • 文本水印:支持将文本信息嵌入图片中,并从受攻击后的图片中提取。

    • 图片水印:支持将图片作为水印嵌入到另一张图片中,并提取。

    • 比特流水印:支持将比特流(如二进制数据)嵌入图片中,并提取。

  • 抗攻击能力

    :项目展示了对多种常见攻击(如旋转、裁剪、遮挡、缩放、加噪、亮度调整等)的鲁棒性,即使图片经过攻击,仍能提取出完整的水印信息。

安装

  • 通过PyPI安装

    pip install blind-watermark
  • 安装开发版本

    [email protected]:guofei9987/blind_watermark.git
    cdblind_watermark
    pip install .

使用方法

在命令行中使用

  • 嵌入水印

    blind_watermark --embed --pwd1234 examples/pic/ori_img.jpeg"watermark text"examples/output/embedded.png
  • 提取水印

    blind_watermark --extract --pwd1234 --wm_shape 111 examples/output/embedded.png
在Python中使用
  • 嵌入文本水印

    fromblind_watermarkimportWaterMark

    bwm1 = WaterMark(password_img=1, password_wm=1)
    bwm1.read_img('pic/ori_img.jpg')
    wm ='@guofei9987 开源万岁!'
    bwm1.read_wm(wm, mode='str')
    bwm1.embed('output/embedded.png')
    len_wm =len(bwm1.wm_bit)
    print('Put down the length of wm_bit {len_wm}'.format(len_wm=len_wm))
  • 提取文本水印

    bwm1 = WaterMark(password_img=1, password_wm=1)
    wm_extract = bwm1.extract('output/embedded.png', wm_shape=len_wm, mode='str')
    print(wm_extract)
  • 嵌入图片水印

    fromblind_watermarkimportWaterMark

    bwm1 = WaterMark(password_wm=1, password_img=1)
    bwm1.read_ori_img('pic/ori_img.jpg')
    bwm1.read_wm('pic/watermark.png')
    bwm1.embed('output/embedded.png')
  • 提取图片水印

    bwm1 = WaterMark(password_wm=1, password_img=1)
    bwm1.extract(filename='output/embedded.png', wm_shape=(128,128), out_wm_name='output/extracted.png')