调用EncodeBlindWatermark接口为图片添加盲水印。盲水印添加后,在图片中不能直接看到该水印,但是可以通过使用智能媒体管理的DecodeBlindWatermark功能恢复图中隐藏的水印。
接口说明
- 该接口不依赖媒体集。
- 智能媒体管理支持将图片、文字作为盲水印添加到图片中。
注意事项
- 当添加盲水印的图片经过变换后,例如压缩、缩放等,图片的水印可能难以解析。
- 对同一张图片,添加盲水印和解析盲水印时必须使用同一种算法,否则图片的水印无法进行解析。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | EncodeBlindWatermark |
操作接口名称,固定取值为EncodeBlindWatermark。 |
ImageUri | String | 是 | oss://imm-test/testcases/watermarktestbefore.jpg |
待添加盲水印图片的OSS URI。 OSS地址规则为 |
Project | String | 是 | immimagetest |
项目名称。 |
TargetUri | String | 是 | oss://imm-test/testcases/watermarktestafter.jpg |
添加盲水印后图片保存到的OSS URI。 OSS地址规则为 |
WatermarkUri | String | 是 | oss://imm-test/testcases/test.jpg |
水印图片的OSS URI。 WatermarkUri参数和Content参数必须至少设置一个。 OSS地址规则为 |
RegionId | String | 否 | cn-hangzhou |
项目所在地域的ID。 地域Endpoint格式为 |
ImageQuality | String | 否 | 90 |
输出图片的质量,默认值为90,取值范围为70~100。 质量越高,图片尺寸越大,水印解析质量越高。 |
Content | String | 否 | 阿里云版权所有 |
作为水印的文字内容,最多100字节。 WatermarkUri参数和Content参数必须至少设置一个。 |
TargetImageType | String | 否 | jpg |
加水印后图片的存储格式,默认值为jpg,可选值包括jpg和png。 |
Model | String | 否 | DWT_IBG |
水印算法模型,默认值为FFT,可选值包括FFT、FFT_FULL、DWT和DWT_IBG,推荐您使用DWT_IBG。 不同算法模型的区别请参见算法模型。 |
算法模型
模型名称 |
解码是否需要原图 |
抗攻击能力 |
计算速度 |
限制 |
---|---|---|---|---|
FFT |
Y |
较弱 |
一般 |
对色彩不够丰富的图片(例如线框图),添加盲水印后,图片可能会泛黄。 |
FFT_FULL |
Y |
一般 |
慢 |
图片比FFT泛黄的概率小,但是速度会降低。 |
DWT |
N |
较好 |
快 |
任意大小水印都可以用,但是有效水印信息为64 px×64 px的二值图。 无论输入何种水印图,该算法都会先变换水印图为64 px×64 px的二值图,所以当输入彩色水印或者非常大的水印时会存在信息损失。 被添加水印的图片大小不能过小,且较短边长需大于128像素。 |
DWT_IBG |
N |
较好 |
快 |
DWT的优化方案,对纯色背景图片影响更小,对非纯色背景图片清晰度更高。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Content | String | 阿里云版权所有 |
只有当请求中设置了Content参数时,才有显示此参数。 作为水印的文字内容。 |
RequestId | String | 8E0DD64B-28C6-4653-8FF7-93E4C234BCF0 |
当次请求的Request ID。 |
TargetUri | String | oss://imm-test/testcases/watermarktestafter.jpg |
添加水印后图片保存到的OSS URI。 |
示例
请求示例
http(s)://[Endpoint]/?Action=EncodeBlindWatermark
&ImageUri=oss://imm-test/testcases/watermarktestbefore.jpg
&Project=immimagetest
&TargetUri=oss://imm-test/testcases/watermarktestafter.jpg
&WatermarkUri=oss://imm-test/testcases/test.jpg
&<公共请求参数>
正常返回示例
XML
格式
<RequestId>8E0DD64B-28C6-4653-8FF7-93E4C234BCF0</RequestId>
<Content>阿里云版权所有</Content>
<TargetUri>oss://imm-test/testcases/watermarktestafter.jpg</TargetUri>
JSON
格式
{
"RequestId": "8E0DD64B-28C6-4653-8FF7-93E4C234BCF0",
"Content": "阿里云版权所有",
"TargetUri": "oss://imm-test/testcases/watermarktestafter.jpg"
}