图像盲水印
更新时间:2025-01-03
概述
盲水印是指在不影响原始图片内容的前提下,将不可见水印嵌入到媒体内容中。通常用在版权保护、内容追踪和防伪等场景。盲水印有以下特性:
- 版权保护。对图片嵌入文字盲水印或者文字盲水印,可通过对图片进行解码提取操作,得到水印图来证明版权信息
- 内容追踪。可使用盲水印功能,对图片加上特殊标识,如果内容被非授权传播,可根据解码提取出的标识信息,判断泄露源
注意事项
- 因 BOS 图片盲水印功能依赖 MCP 服务,所以使用 BOS 图片盲水印服务过程中产生的接口调用费用,由 MCP 服务进行收取。具体定价请参考 MCP 数字水印服务的定价文档。MCP 服务数字水印计费项
- 使用 BOS 图片盲水印功能前,请确保已经开通音视频 MCP 服务。MCP 服务快速使用流程
使用限制
- BOS 盲水印服务当前仅支持属于北京、苏州、广州地域的 Bucket
- 盲水印图片限制格式为:PNG, JPG, BMP, JPEG 格式
- 使用盲水印功能,原图的宽高都需大于 512
- 文字盲水印当前支持数字 [0 - 9] 及英文大小写 [A - Z,a - z] 及常用特殊字符,长度不大于 100
- 算法 0 可以抵抗缩放、裁剪、遮挡、截屏等攻击,但抗图片压缩能力较弱,水印容量较小。算法 1 可抵抗一定程度的裁剪、遮挡、截屏、图片压缩等攻击,水印容量较大,但不可抵抗缩放攻击
- 输入图片最大 50M;水印图最大 5M
- 嵌入盲水印和提取盲水印使用的算法需要一致,不然提取水印失败。算法 0 会返回没有信息的图片,算法 1 会返回空字符串
算法说明
- 算法 0
- 将水印以图片的形式嵌入。如果嵌入为文字,文字会被自动转为图片再嵌入。无论嵌入图片还是文字,提取水印结果始终为图片。无论是否含有水印,该算法总会提取出一张图片,需要人工查看图片判断其中是否含有水印内容
- 该算法能够抵抗一定程度的缩放、裁剪、遮挡、截屏等攻击,但抗图片压缩能力较弱,水印容量较小。相比于未受攻击的图片,从被攻击后的图片提取出的水印图可能有一定的模糊、缺漏,取决于攻击程度
- 算法 1
- 仅支持嵌入文字,水印以编码形式嵌入。提取结果为字符串
- 该算法可抵抗一定程度的裁剪、遮挡、截屏、图片压缩等攻击,水印容量较大,但不可抵抗缩放攻击
- 相比算法 0,该算法在嵌入文字场景更加易用,可端到端提取准确的水印字符,无需人工检查
盲水印参数
action名称:blind-watermark
参数 | 取值 | 说明 |
---|---|---|
method | extract/embed | 区分此次请求为提取水印还是嵌入水印,提取水印 extract,嵌入水印为 embed,必选 |
mode | 0/1 | 区分此次请求为文字水印还是图片水印,图片水印为 0,文字水印为 1,必选 |
bucket | - | 指定水印图片存储在 BOS 的 Bucket 名称,非必选,默认当前 bucket。非当前 bucket 则要求该水印图片有公共读权限 |
image | - | 指定水印图片存储在 BOS 的 Object 名称,需要取 url 安全的 Base64 编码后的值。图片水印嵌入必选参数。1)原图的宽高都需大于 512。2)水印图片的限制,必须是二值图像,且水印的大小为 64x64,如果不符合条件,会缩放和处理图片到服务要求 |
text | - | 水印文字内容,需要进行 url 安全的 Base64 编码,且编码前最多不能超过 100 个字符。文字水印嵌入必选参数。文字盲水印当前支持数字 [0 - 9] 及英文大小写 [A - Z,a - z] |
algorithm | 0/1 | 添加盲水印使用的算法类型,默认为 0 |
示例
- 嵌入文字盲水印
- 提取文字盲水印
- 嵌入图片盲水印
- 提取图片盲水印