简介
本文档提供关于数据万象图像修复的 API 概览以及 SDK 示例代码。
注意:
COS 小程序 SDK 版本需要大于等于 v1.1.1。
待处理的图片,原图大小不超过 32MB。
宽高不超过 50000 像素且总像素不超过 2.5 亿像素,处理结果图宽高设置不超过 9999 像素。
API | 说明 |
腾讯云数据万象通过 ImageRepair 接口检测图片中的水印并将其擦除。 |
上传时处理
下面示例展示了如何在上传图片时自动实现图像修复。
图片上传完成后,COS 会存储原始图片和已处理过的图片。后续用户可以通过普通的下载请求获取处理结果。
示例代码
<view><button type="primary" bindtap="button">上传</button></view>
Page({button: function () {wx.chooseMessageFile({count: 10,type: 'all',success: function (res) {var file = res.tempFiles[0];wxfs.readFile({filePath: file.path,success: function (res) {// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/31953cos.putObject({Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填Key: file.name, // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填Body: res.data, // 上传文件对象,必填Headers: {// 通过 ImageRepair 接口使用图像修复功能:指定遮罩图片地址 URL 安全的 Base64 编码:aHR0c...XXX'Pic-Operations': JSON.stringify({is_pic_info: 1,rules: [{ fileid: 'test.jpg', rule: 'ci-process=ImageRepair&MaskPic=aHR0c...XXX' }]}),},},(err, data) => {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data);}},);},fail: (err) => console.error(err),});},fail: (err) => console.error(err),});},});
参数说明
回调函数说明
function(err, data) { ... }
对云上数据进行图像修复
下面示例展示了如何对已存储在 COS 的图片进行图像修复操作,并将结果存入到 COS。
示例代码
<view><button type="primary" bindtap="button">对云上数据处理</button></view>
Page({button: function () {// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/31953cos.request({Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填Key: '1.png', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填Method: 'POST', // 固定值Action: 'image_process', // 固定值Headers: {// 通过 ImageRepair 接口使用图像修复功能:指定遮罩图片地址 URL 安全的 Base64 编码:aHR0c...XXX'Pic-Operations': JSON.stringify({is_pic_info: 1,rules: [{ fileid: 'test.jpg', rule: 'ci-process=ImageRepair&MaskPic=aHR0c...XXX' }]}),},},(err, data) => {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data);}},);},});
回调函数说明
function(err, data) { ... }
下载时使用图像修复
下面示例展示了如何在下载图片时实现图像修复。
示例代码
<<view><button type="primary" bindtap="button">下载时处理</button></view>
Page({button: function () {// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/31953cos.getObject({Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填Key: '1.png', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填Query: {'ci-process': 'ImageRepair', // 固定值MaskPic: 'aHR0c...XXX' /*非必需,遮罩(白色区域为需要去除的水印位置)图片地址,需要经过 URL 安全的 Base64 编码*/,//MaskPoly:'[[[608, 794], [1024, 794]],[[1295, 62],[1295, 30]]]' /* 非必需,顺时针输入多边形的每个点的坐标,MaskPoly 同时与 MaskPic 填写时,优先采用 MaskPic 的值*/,},},(err, data) => {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data);}},);},});
参数说明
cos.request 方法参数说明:
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 | String | 是 |
Region | String | 是 | |
Method | 固定值:GET | String | 是 |
Key | 对象文件名,例如:folder/document.jpg。 | String | 是 |
Query | 其他请求参数 | Container | 是 |
Query 参数说明:
参数名称 | 描述 | 类型 | 是否必选 |
ci-process | 数据万象处理能力,图像修复固定为 ImageRepair。 | String | 是 |
MaskPic | 遮罩(白色区域为需要去除的水印位置)图片地址,需要经过 URL 安全的 Base64 编码。例如,遮罩图片为 http://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/shuiyin_2.png ,则该处编码后的字符串为 aHR0cDovL2V4YW1wbGVidWNrZXQtMTI1MDAwMDAwMC5jb3MuYXAtc2hhbmdoYWkubXlxY2xvdWQuY29tL3NodWl5aW5fMi5wbmc | String | 否 |
MaskPoly | 例如:[[[608, 794], [1024, 794], [1024, 842], [608, 842]],[[1295, 62], [1295, 30], [1597, 32],[1597, 64]]] ,顺时针输入多边形的每个点的坐标,每个多边形: [[x1, y1], [x2, y2]...], 形式为三维矩阵(多个多边形:[多边形1, 多边形2])或二维矩阵(单个多边形),且需要经过 URL 安全的 Base64 编码。MaskPoly 同时与 MaskPic 填写时,优先采用 MaskPic 的值。 | String | 否 |
回调函数说明
function(err, data) { ... }