调用EncodeBlindWatermark接口为图片添加盲水印。盲水印添加后,在图片中不能直接看到该水印,但是可以通过使用智能媒体管理的DecodeBlindWatermark功能恢复图中隐藏的水印。

接口说明

  • 该接口不依赖媒体集。
  • 智能媒体管理支持将图片、文字作为盲水印添加到图片中。

注意事项

  • 当添加盲水印的图片经过变换后,例如压缩、缩放等,图片的水印可能难以解析。
  • 对同一张图片,添加盲水印和解析盲水印时必须使用同一种算法,否则图片的水印无法进行解析。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String EncodeBlindWatermark

操作接口名称,固定取值为EncodeBlindWatermark。

ImageUri String oss://imm-test/testcases/watermarktestbefore.jpg

待添加盲水印图片的OSS URI。

OSS地址规则为oss://bucket/object,其中bucket为和当前项目处于同一区域的OSS Bucket名称,object为文件路径。

Project String immimagetest

项目名称。

TargetUri String oss://imm-test/testcases/watermarktestafter.jpg

添加盲水印后图片保存到的OSS URI。

OSS地址规则为oss://bucket/object,其中bucket为和当前项目处于同一区域的OSS Bucket名称,object为文件路径。

WatermarkUri String oss://imm-test/testcases/test.jpg

水印图片的OSS URI。

WatermarkUri参数和Content参数必须至少设置一个。

OSS地址规则为oss://bucket/object,其中bucket为和当前项目处于同一区域的OSS Bucket名称,object为文件路径。

RegionId String cn-hangzhou

项目所在地域的ID。

地域Endpoint格式为imm.RegionId.aliyuncs.com,例如当RegionId为cn-hangzhou时,地域Endpoint为imm.cn-hangzhou.aliyuncs.com。

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"
}