详情页标题前

腾讯云对象存储图片盲水印

详情页1

功能描述

盲水印功能基于腾讯云数据万象,是一种全新的水印模式。通过该功能,您可将水印图以不可见的形式添加到原图信息中,并且不会对原图质量产生太大影响。当发现图片被盗取后,您可对疑似被盗取的资源进行盲水印提取,验证图片归属。通过该 API 接口,您可以:在上传时为图片添加盲水印在下载时为图片添加盲水印对 COS 上的图片添加盲水印也可以对已添加盲水印的图片进行盲水印提取。说明暂不支持为动图(例如 GIF 图片)添加盲水印。使用盲水印功能,水印图的宽高不得超过原图的1/8。为保证盲水印效果,水印图请选用黑底白色图片。文字盲水印当前支持数字[0 – 9]及英文大小写[A – Z,a – z]。盲水印可抵抗裁剪、涂抹、变色等多种图片盗取攻击,防盗效果与原图大小及攻击程度相关。如需详细咨询请 提交工单盲水印已支持数据万象所有地域,详情请查看 地域与域名

授权说明

授权策略中 action 设置为 ci:SetImageBlindWatermark 。查看所有 action

服务开通

使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶

使用限制

使用该接口时,请先确认相关限制条件。详情请参见 使用限制

添加盲水印

请求一:上传时添加盲水印

图片上传时添加盲水印的请求包与 PUT Object 接口一致,只需在请求包头部增加图片处理参数 Pic-Operations 并使用盲水印参数即可。

请求示例

PUT /<ObjectKey> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth StringPic-Operations: <PicOperations>
[Object Content]

说明Authorization: Auth String (详情请参见 请求签名 文档)。

请求头

此接口使用公共请求头部,详情请参见 公共请求头部 文档。请求包头部增加图片处理参数 Pic-Operations,Pic-Operations 为 json 格式的字符串,具体参数如下:

参数名称 描述 类型 是否必选
is_pic_info 是否返回原图信息。0表示不返回原图信息,1表示返回原图信息,默认为0 Int
rules 处理规则,一条规则对应一个处理结果(目前最多支持五条规则),不填则不进行图片处理 Array

rules(json 数组)中每一项具体参数如下:

参数名称 描述 类型 是否必选
bucket 存储结果的目标存储桶名称,格式为:BucketName-APPID,如果不指定的话默认保存到当前存储桶 String
fileid 处理后文件的保存路径及名称。名称规则说明:例如源文件的路径及文件名为:/p1/test1.jpg1. / 开头为绝对路径,例如 fileid 值为 /p2/test2.jpg 时,表示在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件2. 不以 / 开头为相对路径,例如 fileid 值为 p2/test2.jpg 时,表示在 p1 文件夹中新建了一个 p2 文件夹,然后在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件3. 注意:请不要以 / 结尾,否则会产生空文件名 String
rule 处理参数,可参见图片处理 API。 若按指定样式处理,则以style/开头,后加样式名,如样式名为“test”,则 rule 字段为style/test String

使用盲水印需在 rule 中添加水印图参数(watermark),示例格式如下:

watermark/3/type/<type>/image/<imageUrl>/text/<text>/level/<level>

示例参数说明如下:

参数名称 描述 类型 是否必选
type 盲水印类型,有效值:1为半盲水印;2为全盲水印;3为文字盲水印 Int
image 盲水印图片地址,需要经过 URL 安全的 Base64 编码。 当 type 为1或2时必填,type 为3时无效。 指定的水印图片必须同时满足如下条件:1. 盲水印图片与原图片必须位于同一个存储桶下2. URL 必须以 http:// 开始,不能省略 http 头,也不能填 https 头,例如以下地址为非法水印地址:examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/watermark.pnghttps://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/watermark.png String
text 盲水印文字,需要经过 URL 安全的 Base64 编码。当 type 为3时必填,type 为1或2时无效 String
level 只对全盲水印(type=2)有效。level 的取值范围为{1,2,3},默认值为1,level 值越大则图片受影响程度越大、盲水印效果越好。 Int

请求参数

此接口无请求参数。

请求体

此接口请求的请求体为需要添加盲水印的原文件(图片)内容。

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

响应体具体数据内容如下:

参数名称 描述 类型
UploadResult 原图信息 Container

UploadResult 节点内容:

参数名称 描述 类型
OriginalInfo 原图信息 Container
ProcessResults 图片处理结果 Container

OriginalInfo 节点内容:

节点名称 描述 类型
Key 原图文件名 String
Location 图片路径 String
ImageInfo 原图图片信息 Container

ImageInfo 节点内容:

节点名称 描述 类型
Format 格式 String
Width 图片宽度 Int
Height 图片高度 Int
Quality 图片质量 Int
Ave 图片主色调 String
Orientation 图片旋转角度 Int

ProcessResults 节点内容:

节点名称 描述 类型
Object 每一个图片处理结果 Container

Object 节点内容:

节点名称 描述 类型
Key 文件名 String
Location 图片路径 String
Format 图片格式 String
Width 图片宽度 Int
Height 图片高度 Int
Size 图片大小 Int
Quality 图片质量 Int

实际案例

请求

PUT /exampleobject HTTP/1.1Host: examplebucket-1250000000.cos.ap-chengdu.myqcloud.comDate: Tue, 03 Apr 2018 09:06:15 GMTAuthorization:XXXXXXXXXXXX
Pic-Operations:{ "is_pic_info": 1, "rules": [{ "fileid": "exampleobject", "rule": "watermark/3/type/1/image/aHR0cDovL2V4YW1wbGVzLTEyNTEwMDAwMDQucGljc2gubXlxY2xvdWQuY29tL3NodWl5aW4uanBn" }]}Content-Length: 64
[Object Content]

响应

HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 645Date: Tue, 03 Apr 2018 09:06:16 GMTStatus: 200 OKx-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****
<UploadResult> <OriginalInfo> <Key>exampleobject</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/exampleobject</Location> <ImageInfo> <Format>JPEG</Format> <Width>640</Width> <Height>427</Height> <Quality>100</Quality> <Ave>0xa18454</Ave> <Orientation>1</Orientation> </ImageInfo> </OriginalInfo> <ProcessResults> <Object> <Key>exampleobject</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/exampleobject</Location> <Format>png</Format> <Width>640</Width> <Height>427</Height> <Size>463092</Size> <Quality>100</Quality> </Object> </ProcessResults></UploadResult>

注意请求体的 [Object Content] 字段为原图的图片内容(二进制字符串),请求头 Pic-Operations 的 rule 字段中,imageUrl 为水印图片的地址。响应体的 ProcessResults 中的 Location 字段为处理后已经携带盲水印的图片的地址。

请求二:下载时添加盲水印

图片下载时添加盲水印与添加普通水印操作相同,只需在图片访问链接后使用 watermark 参数即可。

请求示例

GET /?watermark/3/type//image//text/ HTTP/1.1Host: .cos..myqcloud.comDate: Authorization: 

请求参数

请求参数说明如下:

参数 描述 类型 是否必选
download_url 文件的访问链接,具体构成为 http(s)://.cos..myqcloud.com/, 例如examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/picture.jpeg String
type 盲水印类型,有效值:1为半盲水印;2为全盲水印;3为文字盲水印 Int
image 盲水印图片地址,需要经过 URL 安全的 Base64 编码。 当 type 为1或2时必填,type 为3时无效。 图片必须同时满足如下条件:
1. 盲水印图片与原图片必须位于同一个存储桶下
2. URL 必须以
http:// 开始,不能省略 http 头,也不能填 https 头,例如以下地址为非法水印地址:examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/watermark.pnghttps://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/watermark.png
String
text 盲水印文字,需要经过 URL 安全的 Base64 编码。当 type 为3时必填,type 为1或2时无效 String
level 只对全盲水印(type=2)有效。level 的取值范围为{1,2,3},默认值为1,level 值越大则图片受影响程度越大、盲水印效果越好 Int

实际案例

https://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/sample.jpeg?watermark/3/type/3/text/dGVuY2VudCBjbG91ZA==

请求三:对 COS 上的图片添加盲水印

通过 API 能够对已存储在 COS 的图片进行添加盲水印的操作,并将结果存入到 COS。

请求示例

POST /<ObjectKey>?image_process HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth StringPic-Operations: <PicOperations>

说明Authorization: Auth String(详情请参见 请求签名 文档)。

请求头

此接口使用公共请求头部,详情请参见 公共请求头部 文档。请求包头部增加图片处理参数 Pic-Operations,Pic-Operations 为 json 格式的字符串,具体参数如下:

参数名称 描述 类型 是否必选
is_pic_info 是否返回原图信息。0表示不返回原图信息,1表示返回原图信息,默认为0 Int
rules 处理规则,一条规则对应一个处理结果(目前最多支持五条规则),不填则不进行图片处理 Array

rules(json 数组)中每一项具体参数如下:

参数名称 描述 类型 是否必选
bucket 存储结果的目标存储桶名称,格式为:BucketName-APPID,如果不指定的话默认保存到当前存储桶 String
fileid 处理后文件的保存路径及名称。名称规则说明:例如源文件的路径及文件名为:/p1/test1.jpg1. / 开头为绝对路径,例如 fileid 值为/p2/test2.jpg时,表示在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件2. 不以 / 开头为相对路径,例如 fileid 值为 p2/test2.jpg 时,表示在 p1 文件夹中新建了一个 p2 文件夹,然后在p2文件夹中存储了一个文件名为 test2.jpg 的文件3. 注意:请不要以 / 结尾,否则会产生空文件名 String
rule 处理参数,可参见图片处理 API。 若按指定样式处理,则以style/开头,后加样式名,如样式名为“test”,则 rule 字段为style/test String

使用盲水印需在 rule 中添加水印图参数(watermark),示例格式如下:

watermark/3/type/<type>/image/<imageUrl>/text/<text>/level/<level>

示例参数说明如下:

参数 描述 类型 是否必选
type 盲水印类型,有效值:1为半盲水印;2为全盲水印;3为文字盲水印 Int
image 盲水印图片地址,需要经过 URL 安全的 Base64 编码。当 type 为1或2时必填,type 为3时无效。指定的水印图片必须同时满足如下条件:1. 盲水印图片与原图片必须位于同一个存储桶下2. URL 必须以 http:// 开始,不能省略 http 头,也不能填 https 头,例如以下地址为非法水印地址:examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/watermark.pnghttps://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/watermark.png String
text 盲水印文字,需要经过 URL 安全的 Base64 编码。当 type 为3时必填,type 为1或2时无效。 String
level 只对全盲水印(type=2)有效。level 的取值范围为{1,2,3},默认值为1,level 值越大则图片受影响程度越大、盲水印效果越好 Int

请求参数

此接口无请求参数。

请求体

此接口无请求体。

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

响应体具体数据内容如下:

参数名称 描述 类型
UploadResult 原图信息 Container

UploadResult 节点内容:

参数名称 描述 类型
OriginalInfo 原图信息 Container
ProcessResults 图片处理结果 Container

OriginalInfo 节点内容:

节点名称 描述 类型
Key 原图文件名 String
Location 图片路径 String
ImageInfo 原图图片信息 Container

ImageInfo 节点内容:

节点名称 描述 类型
Format 格式 String
Width 图片宽度 Int
Height 图片高度 Int
Quality 图片质量 Int
Ave 图片主色调 String
Orientation 图片旋转角度 Int

ProcessResults 节点内容:

节点名称 描述 类型
Object 每一个图片处理结果 Container

Object 节点内容:

节点名称 描述 类型
Key 文件名 String
Location 图片路径 String
Format 图片格式 String
Width 图片宽度 Int
Height 图片高度 Int
Size 图片大小 Int
Quality 图片质量 Int

实际案例

请求

POST /exampleobject?image_process HTTP/1.1Host: examplebucket-1250000000.cos.ap-chengdu.myqcloud.comDate: Tue, 03 Apr 2018 09:06:15 GMTAuthorization:XXXXXXXXXXXX
Pic-Operations:{ "is_pic_info": 1, "rules": [{ "fileid": "exampleobject", "rule": "watermark/3/type/1/image/aHR0cDovL2V4YW1wbGVzLTEyNTEwMDAwMDQucGljc2gubXlxY2xvdWQuY29tL3NodWl5aW4uanBn" }]}Content-Length: 64

响应

HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 645Date: Tue, 03 Apr 2018 09:06:16 GMTStatus: 200 OKx-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****
<UploadResult> <OriginalInfo> <Key>exampleobject</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/exampleobject</Location> <ImageInfo> <Format>JPEG</Format> <Width>640</Width> <Height>427</Height> <Quality>100</Quality> <Ave>0xa18454</Ave> <Orientation>1</Orientation> </ImageInfo> </OriginalInfo> <ProcessResults> <Object> <Key>exampleobject</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/exampleobject</Location> <Format>png</Format> <Width>640</Width> <Height>427</Height> <Size>463092</Size> <Quality>100</Quality> </Object> </ProcessResults></UploadResult>

提取盲水印

请求一:上传时提取盲水印

请求示例

上传图片并提取盲水印的请求包与 PUT Object 接口一致,只需在请求包头部增加图片处理参数 Pic-Operations 并使用提取盲水印参数(watermark/4)即可。

PUT /<ObjectKey> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization:XXXXXXXXXXXXPic-Operations: <PicOperations>
[Object Content]

说明Authorization: Auth String (详情请参见 请求签名 文档)。

请求头

此接口使用公共请求头部,详情请参见 公共请求头部 文档。请求包头部增加图片处理参数 Pic-Operations,Pic-Operations 为 json 格式的字符串,具体参数如下:

参数名称 描述 类型 是否必选
is_pic_info 是否返回原图信息。0表示不返回原图信息,1表示返回原图信息,默认为0 Int
rules 处理规则,一条规则对应一个处理结果(目前最多支持五条规则),不填则不进行图片处理 Array

rules(json 数组)中每一项具体参数如下:

参数名称 描述 类型 是否必选
bucket 存储结果的目标存储桶名称,格式为:BucketName-APPID,如果不指定的话默认保存到当前存储桶 String
fileid 处理后文件的保存路径及名称。名称规则说明:例如源文件的路径及文件名为:/p1/test1.jpg1. /开头为绝对路径,例如 fileid 值为 /p2/test2.jpg 时,表示在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件2. 不以/开头为相对路径,例如 fileid 值为 p2/test2.jpg 时,表示在 p1 文件夹中新建了一个 p2 文件夹,然后在 p2 文件夹中存储了一个文件名为 test2.jpg 的文件3. 注意:请不要以/结尾,否则会产生空文件名 String
rule 处理参数,请参见图片处理 API。 若按指定样式处理,则以style/开头,后加样式名,如样式名为“test”,则 rule 字段为style/test String

提取盲水印需在 rule 中添加水印图参数(watermark),示例格式如下:

watermark/4/type/<type>/image/<imageUrl>

示例参数说明如下:

参数名称 描述 类型 是否必选
type 盲水印类型,有效值:1为半盲水印;2为全盲水印;3为文字盲水印,必须跟添加盲水印时的 type 类型一致 Int
image 图片地址,根据 type 值填写:当 type 为1,则 image 必填,且为原图图片地址当 type 为2,则 image 必填,且为水印图地址当 type 为3,则 image 无需填写(无效)image 需要经过 URL 安全的 Base64 编码,指定的图片必须同时满足如下条件:1. 图片与存在水印的图片必须位于同一个对象存储桶下;2. URL 必须以http://开始,不能省略 http 头,也不能填 https 头,例如以下地址为非法水印地址:examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/watermark.png https://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/watermark.png String

请求参数

此接口无请求参数。

请求体

此接口请求的请求体为图片内容。

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

响应体的 UploadResult.ProcessResults.Object 字段中新增 WatermarkStatus 字段,当盲水印提取的请求体中 type 参数为2时携带 WatermarkStatus 参数,其他情况不返回该参数。

参数名称 父节点 描述 类型
WatermarkStatus Object 当 type 为2时返回该字段,表示提取到全盲水印的可信度。具体为0-100的数字,75分以上表示确定有盲水印,60-75表示疑似有盲水印,60以下可认为未提取到盲水印。 Int

实际案例

请求

PUT /exampleobject1 HTTP/1.1Host: examplebucket-1250000000.cos.ap-chengdu.myqcloud.comDate: Tue, 03 Apr 2018 09:06:15 GMTAuthorization:XXXXXXXXXXXX
Pic-Operations:{ "is_pic_info": 1, "rules": [{ "fileid": "exampleobject2", "rule": "watermark/4/type/2/image/aHR0cDovL2V4YW1wbGVzLTEyNTEwMDAwMDQucGljc2gubXlxY2xvdWQuY29tL2ZpbGVuYW1lLmpwZWc=" }]}Content-Length: 64
[Object Content]

响应

HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 645Date: Tue, 03 Apr 2018 09:06:16 GMTStatus: 200 OKx-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****
<UploadResult> <OriginalInfo> <Key>exampleobject1</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/exampleobject1</Location> <ImageInfo> <Format>JPEG</Format> <Width>640</Width> <Height>427</Height> <Quality>100</Quality> <Ave>0xa18454</Ave> <Orientation>1</Orientation> <FrameCount>1</FrameCount> </ImageInfo> </OriginalInfo> <ProcessResults> <Object> <Key>exampleobject2</Key> <Location>examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/exampleobject2</Location> <Format>png</Format> <Width>640</Width> <Height>427</Height> <Size>463092</Size> <Quality>100</Quality> <FrameCount>1</FrameCount> <WatermarkStatus>86</WatermarkStatus> </Object> </ProcessResults></UploadResult>

注意对于 type 值为1的请求,请求头 Pic-Operations 的 rule 字段中,imageUrl 为未添加盲水印的原图地址;对于 type 值为2的请求,包头 Pic-Operations 的 rule 字段中,imageUrl 为水印图的地址。响应体 ProcessResults 字段的 url 为提取出来的水印图地址。

请求二:对 COS 上的图片提取盲水印

对 COS 上的图片提取盲水印的请求包与 云上数据处理 接口一致,只需在请求包头部增加图片处理参数 Pic-Operations 并使用提取盲水印参数(watermark/4)即可。

对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/145097.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云对象存储对象访问 URL

    简介 本文档提供获取对象访问 URL 的代码示例。 获取对象访问 URL 功能说明 获取对象访问 URL 用于匿名下载或分发。 方法原型 const char *cos_gen_object_url(const cos_request_options_t *options, const cos_string_t *bucket, const cos_stri…

    腾讯云 2023年12月9日
  • 腾讯云对象存储提交病毒检测任务

    功能描述 云查毒功能为异步请求方式,您可以通过本接口对云上的文件进行文件病毒(例如木马病毒、蠕虫病毒等)检测,然后通过查询病毒检测结果接口,查询病毒检测的结果。 授权说明 授权策略中 action 设置为 ci:CreateAuditingVirusJob 。查看所有 action。 服务开通 使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储…

    腾讯云 2023年12月9日
  • 阿里云容器服务ACKRAM鉴权-云淘科技

    在使用RAM账号调用阿里云API前,需要主账号(即阿里云账号)通过创建授权策略对RAM账号进行授权。 资源授权 默认RAM账号没有权限通过调用阿里云API去创建、修改云资源。使用RAM账号调用API时,您需要先创建一个授权策略,然后将这个授权策略关联给对应的RAM账号完成资源授权。 在创建授权策略时,您可以通过ARN(Aliyun Resource Name…

    阿里云容器服务 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储清单

    简介 本文档提供关于清单的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 PUT Bucket inventory 设置清单任务 设置存储桶的清单任务 GET Bucket inventory 查询清单任务 查询存储桶的清单任务 DELETE Bucket inventory 删除清单任务 删除存储桶的清单任务 设置清单任务 功能说明 PU…

    腾讯云 2023年12月9日
  • 阿里云RDS数据库使用流程-云淘科技

    快速入门旨在介绍如何创建RDS MySQL实例、进行基本设置以及连接实例,使用户能够了解从购买RDS实例到开始使用实例的流程。 若您初次使用阿里云RDS,请先了解阿里云RDS使用限制。 快速入门视频指导 简易流程通常,从新购实例到可以开始使用实例,您需要完成如下操作。 快速创建RDS MySQL实例 创建数据库和账号 通过DMS登录RDS MySQL 更多操…

    阿里云数据库 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。