视觉技术
更新时间:
使用前提条件
该接口底层依赖于 fetch 接口实现,开发者使用前需要在 manifest.json 中声明 fetch 接口
{ "name": "blueos.network.fetch" }
复制代码
使用
import vision from "@blueos.ai.vision"
复制代码
接口总览
接口名称 |
接口说明 |
commonOcr |
识别图片中的所有文字,并返回文字在图片中的位置信息,方便用户进行文字排版的二次处理参考 |
segmentFace |
基于 AI 抠图技术,对图像中的人体头部进行分割,可用于图片背景切换或换脸玩法。 |
segmentForeground |
对人像、猫、狗、车的图像进行分割 |
inpaintForeground |
一种图像编辑方式。去除图片中不希望存在的人、猫、狗、车等,并填充以自然的图案,力求看不出修复痕迹。 |
cropImage |
基于图像的主体内容及画幅要求,提供优质的图像智能裁剪能⼒ |
commonOcr
识别图片中的所有文字,并返回文字在图片中的位置信息,方便用户进行文字排版的二次处理
参数
属性 |
必填 |
类型 |
说明 |
auth |
是 |
Auth |
请求的身份验证信息,确保请求来源合法 |
image |
是 |
string |
图片的 base64 编码(目前只支持识别 jpg、png、bmp 格式的图片) |
options |
否 |
OcrOptions |
请求的参数配置 |
Auth
属性 |
必填 |
类型 |
说明 |
appId |
是 |
string |
应用 appId |
appKey |
是 |
string |
应用 appKey |
注: appId & appKey,需要在 vivo 开发者平台 申请
OcrOptions 说明
参数 |
必填 |
类型 |
说明 |
pos |
否 |
string |
默认为 2,可取值为 0,1,2。0 代表只需要文字信息,1 代表提供文字信息和坐标信息(坐标绝对值),2 代表将 0 和 1 的信息同时提供. |
checkDirection |
否 |
boolean |
选择是否支持支持旋转图像、非正向文字识别,默认为 false 不支持 |
返回值
参数 |
类型 |
说明 |
error_code |
number |
0: 成功 1: ocr 识别失败 2: 图像错误 |
error_msg |
string |
succ/ocr fail/no parameter image |
result |
object |
根据参数 options.pos 返回对应的识别结果 |
version |
string |
ocr_VUG_v2.1.0_20200715 |
support |
string |
VIVO 识图提供技术支持 |
示例
vision.commonOcr({
image: '',
auth: {
appId:"12345678",
appKey: "dkjdkjfi"
}
})
.then(result => {
console.log('commonOcr result', result);
})
.catch(error => {
console.error('commonOcr error', error);
});
复制代码
segmentFace
基于 AI 抠图技术,对图像中的人体头部进行分割,可用于图片背景切换或换脸玩法。
参数
属性 |
必填 |
类型 |
说明 |
image |
是 |
string |
图片 base64 编码,图片尺寸最大不超过 1024 个像素 |
auth |
是 |
Auth |
请求的身份验证信息,确保请求来源合法 |
sessionid |
否 |
string |
标识本次请求 id,默认随机生成 |
返回值
参数 |
类型 |
说明 |
error_code |
number |
0 为正常, 1 为未检测到人脸, 2 为分割失败, 3 为无图片 |
error_msg |
string |
正常"Success", 未检测到人脸"No face is detected", 分割失败"Segmentation fail", 无图片"No image is uploaded" |
sessionid |
string |
标识本次人脸分割请求 id |
result |
SegmentFaceResult |
分割结果 |
cos_time |
string |
算法前向时间 |
SegmentFaceResult 参数说明
参数 |
类型 |
说明 |
origin_mask |
string |
总的 mask 的 base64 编码,图像为单通道灰度图 |
part_box |
array |
part_mask 的 box 类别和位置,包含 idx, xmax, xmin,ymax,ymin;代表类别 idx 和 box 框在原图的坐标位置比例(0-1 之间) ,str 类型 |
part_mask |
array |
part_box 对应框的的 mask 的 base64 编码,图像也为单通道灰度图 |
size |
object |
包含 height, width 字段,orgin_mask 的长宽,为 str 类型 |
示例
vision.segmentFace({
image: ''
auth: {
appId:"12345678",
appKey: "dkjdkjfi"
}
})
.then(result => {
console.log('face segment result', result);
})
.catch(error => {
console.error('error', error);
});
复制代码
segmentForeground
对人像、猫、狗、车的图像进行分割
参数
属性 |
必填 |
类型 |
说明 |
image |
是 |
string |
图片 base64 编码,图片尺寸最大不超过 1024 个像素 |
auth |
是 |
Auth |
请求的身份验证信息,确保请求来源合法 |
sessionid |
否 |
string |
标识本次请求 id,默认随机生成 |
返回值
参数 |
类型 |
说明 |
error_code |
number |
返回状态码,正常为 0,分割失败 1,未检测到图片 2 |
error_msg |
string |
正常为“succ”;分割失败“segment fail”;无图片“no parameter image” |
sessionid |
string |
标识本次请求 id |
result |
SegmentForegroundResult |
返回结果, 详见下方 result 参数说明 |
version |
string |
版本信息 |
cos_time |
string |
算法前向时间 |
SegmentForegroundResult 参数说明
参数 |
类型 |
说明 |
orgin_mask |
string |
总的 mask 的 base64 编码,图像为单通道灰度图 |
inpaint_mask |
string |
用于修复部分的 mask,为单通道灰度图,背景 0,前景 255 |
part_box |
array |
part_mask 的 box 类别和位置,包含 idx,xmax,xmin,ymax,ymin;代表类别 idx 和 box 框在原图的坐标位置比例(0-1 之间) |
part_mask |
array |
part_box 对应框的的 mask 的 base64 编码,图像也为单通道灰度图 |
size |
object |
包含 height, width 字段,orgin_mask 的长宽 |
示例
vision.segmentForeground({
image: '',
auth: {
appId:"12345678",
appKey: "dkjdkjfi"
}
})
.then(result => {
console.log('foreground segment result', result);
})
.catch(error => {
console.error('error', error);
});
复制代码
inpaintForeground
一种图像编辑方式。去除图片中不希望存在的人、猫、狗、车等,并填充以自然的图案,力求看不出修复痕迹。
参数
属性 |
必填 |
类型 |
说明 |
image |
是 |
string |
图片 base64 编码 |
mask |
是 |
string |
Mask 的 base64 编码 |
auth |
是 |
Auth |
请求的身份验证信息,确保请求来源合法 |
sessionid |
否 |
string |
标识本次请求 id,默认随机生成 |
返回值
参数 |
类型 |
说明 |
error_code |
number |
返回状态码,正常为 0,详见下方 error_code 列表 |
error_msg |
string |
正常为 "succ" |
sessionid |
string |
标识本次请求 id |
result |
InpaintForegroundResult |
返回结果, 详见下方 result 参数说明 |
version |
string |
版本信息 |
cos_time |
string |
算法前向时间 |
InpaintForegroundResult 参数说明
参数 |
类型 |
说明 |
inpaint_img |
str |
修复结果图的 base64 编码 |
示例
vision.inpaintForeground({
image: '',
mask: '',
auth: {
appId:"12345678",
appKey: "dkjdkjfi"
}
})
.then(result => {
console.log('foreground inpaint result', result);
})
.catch(error => {
console.error('error', error);
});
复制代码
cropImage
基于图像的主体内容及画幅要求,提供优质的图像智能裁剪能⼒
参数
属性 |
必填 |
类型 |
说明 |
auth |
是 |
object |
请求的身份验证信息,确保请求来源合法 |
requestId |
否 |
string |
标识本次请求 id,默认随机生成 |
imageList |
是 |
object |
裁剪的图片信息列表,详见下方 imageList 说明 |
aspectRatio |
是 |
string[] |
裁剪比例列表 ,例如["10060","10383"] |
imageList 说明
参数 |
必填 |
类型 |
说明 |
imageUrl |
是 |
string |
图片链接 |
imgSymbol |
是 |
string |
图片唯一标识 |
返回值
参数 |
类型 |
说明 |
code |
number |
响应状态码,正常为 0,异常为 1 |
message |
string |
响应状态信息,正常为 'ok' |
data |
CropImageData |
响应结果, 详见下方 CropImageData 说明 |
CropImageData 说明
参数 |
类型 |
说明 |
image_list |
ImageList[] |
返回的图片信息列表,详见下方 ImageList 说明 |
ImageList 说明
参数 |
类型 |
说明 |
image_symbol |
string |
图片名称标识 |
crop_result |
CropResult[] |
裁剪结果,详见下方 CropResult 说明 |
CropResult 说明
参数 |
类型 |
说明 |
aspect_ratio |
string |
输入的裁剪比例 |
box |
array |
该裁剪比例对应的裁剪坐标 |
示例
const auth = {
appId:"12345678",
appKey: "dkjdkjfi"
}
const request = {
auth: auth,
imageList: {
image_url: "http://gaia-mix-prd.vivo.com.cn/fc-author-avatar-pre/cover/cut/674c1f8508bf4700ac575b1cc4730014@base@tag=imgScale&c=1&f=1&cox=0&coy=0&w=146&h=120", image_symbol: "V070000ucms_884zAZWc7IO-images-1"
},
aspectRatio:["100*60","103*83"]
}
vision.cropImage(request)
.then(result => {
console.log('cropImage result', result);
})
.catch(error => {
console.error('cropImage error', error);
});
复制代码