简介
本文档提供关于数据万象图像超分的 API 概览以及 SDK 示例代码。
注意:
COS Javascript SDK 版本需要大于等于 v1.3.2。
待处理的图片,原图大小不超过 5MB,分辨率不得超过 1920px * 1080px。
API | 说明 |
腾讯云数据万象通过 AISuperResolution 接口对图像进行超分辨率处理,当前默认超分为宽高的 2 倍。 |
上传时处理
下面示例展示了如何在上传图片时自动实现图像超分。
图片上传完成后,COS 会存储原始图片和已处理过的图片。后续用户可以通过普通的下载请求获取处理结果。
示例代码
<!-- html 页面 DOM 元素 --><!-- 选择要上传的文件 --><input id="fileSelector" type="file" /><!-- 点击按钮上传 --><input id="submitBtn" type="submit" />
function handleFileInUploading(file) {// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459cos.putObject({// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须字段Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijingKey: file.name, // 对象文件名,例如:folder/document.jpg,可以设置为本地文件的名称file.nameBody: file, // 选择要上传的文件Headers: {// 通过 AISuperResolution 接口使用图像超分功能'Pic-Operations': JSON.stringify({is_pic_info: 1,rules: [{ fileid: 'test.jpg', rule: 'ci-process=AISuperResolution' }]}),},},function (err, data) {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data);}});}document.getElementById('submitBtn').onclick = function (e) {var file = document.getElementById('fileSelector').files[0];if (!file) {document.getElementById('msg').innerText = '未选择上传文件';return;}handleFileInUploading(file);};
参数说明
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 | String | 是 |
Region | String | 是 | |
Key | 对象文件名,例如:folder/document.jpg | String | 是 |
Body | 文件内容,一般传入选择的文件file对象 | File/Blob | 是 |
Pic-Operations | 只需填写 fileid,代表处理后的图片路径,如'test.jpg'。rule固定为ci-process=AISuperResolution | JsonString | 是 |
回调函数说明
function(err, data) { ... }
对云上数据进行图像超分
下面示例展示了如何对已存储在 COS 的图片进行图像超分操作,并将结果存入到 COS。
示例代码
<!-- html 页面 DOM 元素 --><!-- 点击按钮请求对云上数据进行图像超分 --><input id="submitBtn" type="submit" />
function handleFileInBucket() {// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459cos.request({// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须字段Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijingKey: '1/jpg', // 对象文件名,例如:folder/document.jpg。Method: 'POST', // 固定值Action: 'image_process', // 固定值Headers: {// 通过 AISuperResolution 接口使用图像超分功能'Pic-Operations': JSON.stringify({rules: [{ fileid: 'test.jpg', rule: 'ci-process=AISuperResolution' }]}),},},function (err, data) {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data);}});}document.getElementById('submitBtn').onclick = function (e) {handleFileInBucket();};
参数说明
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 | String | 是 |
Region | String | 是 | |
Key | 对象文件名,例如:folder/document.jpg | String | 是 |
Method | 固定值:POST | String | 是 |
Action | 固定值:image_process | String | 是 |
Pic-Operations | 只需填写 fileid,代表处理后的图片路径,如'test.jpg'。rule固定为ci-process=AISuperResolution | JsonString | 是 |
回调函数说明
function(err, data) { ... }
下载时使用图像超分
下面示例展示了如何下载图片时实现图像超分。
示例代码
<!-- html 页面 DOM 元素 --><!-- 点击按钮下载文件并在下载时使用图像超分 --><input id="submitBtn" type="submit" />
function getObject() {// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/11459cos.request({// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须字段Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijingMethod: 'GET', // 固定值Key: '1/jpg', // 对象文件名,例如:folder/document.jpg。Query: {'ci-process': 'AISuperResolution', // 固定值// 'detect-url': '', // 待处理图片url,与Key二选一传递},RawBody: true, // 固定为true,不解析请求体BodyDataType: 'blob', // 设置为blob,返回Body为图片blob},function (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 | 是 |
RawBody | 固定为true,不解析请求体Body | Boolean | 是 |
DataType | 设置为blob,返回Body为图片blob | String | 是 |
Query 参数说明:
参数名称 | 描述 | 类型 | 是否必选 |
ci-process | 数据万象处理能力,图像超分固定为 AISuperResolution。 | String | 是 |
detect-url | 处理任意公网可访问的图片链接。不填写 detect-url 时,后台会默认处理 Key ,填写了 detect-url 时,后台会处理 detect-url 链接。
detect-url 示例: http://www.example.com/abc.jpg ,需要进行 UrlEncode,处理后为
http%25253A%25252F%25252Fwww.example.com%25252Fabc.jpg 。 | String | 否 |
回调函数说明
function(err, data) { ... }