跳转到内容

视觉技术

该接口底层依赖以下接口实现,开发者使用前需要在 manifest.json 中声明以下接口:

{ "name": "blueos.network.fetch" }
import vision from "@blueos.ai.vision"
接口名称接口说明
commonOcr识别图片中的所有文字,并返回文字在图片中的位置信息,方便用户进行文字排版的二次处理参考
segmentFace基于 AI 抠图技术,对图像中的人体头部进行分割,可用于图片背景切换或换脸玩法。
segmentForeground对人像、猫、狗、车的图像进行分割
inpaintForeground一种图像编辑方式。去除图片中不希望存在的人、猫、狗、车等,并填充以自然的图案,力求看不出修复痕迹。
cropImage基于图像的主体内容及画幅要求,提供优质的图像智能裁剪能⼒
generateIdPhoto通过人像分割算法识别照片面部区域,将其抠出后修改背景色,使之成为证件照。
idCardOcr识别提取身份证中的姓名、性别、民族、出生日期、住址、公民身份证号码信息
demoire对屏幕拍摄的带摩尔纹的图像进行摩尔纹去除
deshadow提供文档图像阴影去除能力,同时保证原图文字清晰度

vision.commonOcr(params:OcrParams):Promise

Section titled “vision.commonOcr(params:OcrParams):Promise”

识别图片中的所有文字,并返回文字在图片中的位置信息,方便用户进行文字排版的二次处理

属性必填类型说明
authAuth请求的身份验证信息,确保请求来源合法
imagestring图片的 base64 编码(目前只支持识别 jpg、png、bmp 格式的图片)
optionsOcrOptions请求的参数配置
属性必填类型说明
appIdstring应用 appId
appKeystring应用 appKey

注: appId & appKey,需要在 vivo 开发者平台 申请

参数必填类型说明
posstring默认为 2,可取值为 0,1,2。0 代表只需要文字信息,1 代表提供文字信息和坐标信息(坐标绝对值),2 代表将 0 和 1 的信息同时提供.
checkDirectionboolean选择是否支持旋转图像、非正向文字识别,默认为 false 不支持
参数类型说明
wordsArray文字信息
OCRArray文字与坐标信息
anglenumber旋转角度
参数类型说明
wordsstring识别的文字信息
参数类型说明
wordsstring识别的文字信息
locationlocationInfo文字相关的坐标信息
参数类型说明
top_left{x:number,y:number}左上角坐标信息
top_right{x:number,y:number}右上角坐标信息
down_left{x:number,y:number}左下角坐标信息
down_right{x:number,y:number}右下角坐标信息
// 当pos 参数为0 时的返回结果
"OcrResult": {
"words": [
{"words": "取消"},
{"words": "编辑"}
],
"angle": 0
}
// 当pos 参数为1 时的返回结果
"OcrResult": {
"OCR": [
{
"words": "取消",
"location": {
"top_left": {"x": 658.0, "y": 1130.0},
"top_right": {"x": 893.0, "y": 1130.0},
"down_left": {"x": 658.0, "y": 1174.0},
"down_right": {"x": 893.0, "y": 1174.0}
}
},
{
"words": "编辑",
"location": {
"top_left": {"x": 398.0, "y": 825.0},
"top_right": {"x": 1912.0, "y": 825.0},
"down_left": {"x": 398.0, "y": 1004.0},
"down_right": {"x": 1912.0, "y": 1004.0}
}
}
],
"angle": 0
}
vision.commonOcr({
image: '',
auth: {
appId:"12345678", // 需要替换自己的appId
appKey: "dkjdkjfi" // 需要替换自己的appKey
}
})
.then((result:OcrResult) => {
console.log('commonOcr result', result);
})
.catch((data:string,code:OcrErrorCode) => {
console.error(`commonOcr 失败, code:${code};data:${data}`);
});
code 值说明
1ocr 识别失败
2图像错误

vision.segmentFace(params:SegmentFaceParams):Promise

Section titled “vision.segmentFace(params:SegmentFaceParams):Promise”

人脸分割,基于 AI 抠图技术,对图像中的人体头部进行分割,可用于图片背景切换或换脸玩法。

属性必填类型说明
imagestring图片 base64 编码,图片尺寸最大不超过 1024 个像素
authAuth请求的身份验证信息,确保请求来源合法
参数类型说明
originMaskstring总的 mask 的 base64 编码,图像为单通道灰度图
partBoxArraypartMask 的 box 类别和位置,包含 idx, xmax, xmin,ymax,ymin;代表类别 idx 和 box 框在原图的坐标位置比例(0-1 之间)
partMaskArraypartBox 对应框的的 mask 的 base64 编码,图像也为单通道灰度图
size{width:number,height:number}包含 height, width 字段,orginMask 的长宽型

异常错误码 SegmentFaceErrorCode 描述

Section titled “异常错误码 SegmentFaceErrorCode 描述”
code 值说明
1未检测到人脸
2分割失败
3无图
vision.segmentFace({
image: ''
auth: {
appId:"12345678", // 需要替换自己的appId
appKey: "dkjdkjfi" // 需要替换自己的appKey
}
})
.then((result:SegmentFaceResult) => {
console.log('face segment result', result);
})
.catch((data:string,code:SegmentFaceErrorCode) => {
console.error(`segmentFace 失败, code:${code};data:${data}`);
});

vision.segmentForeground(params:SegmentForegroundParams):Promise

Section titled “vision.segmentForeground(params:SegmentForegroundParams):Promise”

前景分割,对人像、猫、狗、车的图像进行分割

属性必填类型说明
imagestring图片 base64 编码,图片尺寸最大不超过 1024 个像素
authAuth请求的身份验证信息,确保请求来源合法
参数类型说明
orginMaskstring总的 mask 的 base64 编码,图像为单通道灰度图
inpaintMaskstring用于修复部分的 mask,为单通道灰度图,背景 0,前景 255
partBoxArraypartMask 的 box 类别和位置,包含 idx,xmax,xmin,ymax,ymin;代表类别 idx 和 box 框在原图的坐标位置比例(0-1 之间)
partMaskArraypartBox 对应框的的 mask 的 base64 编码,图像也为单通道灰度图
size{width:number,height:number}包含 height, width 字段,orginMask 的长宽

异常错误码 segmentForegroundErrorCode 描述

Section titled “异常错误码 segmentForegroundErrorCode 描述”
code 值说明
1分割失败
2未检测到图片
vision.segmentForeground({
image: '',
auth: {
appId:"12345678", // 需要替换自己的appId
appKey: "dkjdkjfi" // 需要替换自己的appKey
}
})
.then((result:SegmentForegroundResult) => {
console.log('segmentForeground result', result);
})
.catch((data:string,code:SegmentFaceErrorCode) => {
console.error(`segmentForeground 失败, code:${code};data:${data}`);
});

vision.inpaintForeground(params:InpaintForegroundParams):Promise

Section titled “vision.inpaintForeground(params:InpaintForegroundParams):Promise”

前景修复,一种图像编辑方式。使用分割算法去除图片中不希望存在的人、猫、狗、车等,并填充以自然的图案,力求看不出修复痕迹。

属性必填类型说明
imagestring图片 base64 编码
maskstringMask 的 base64 编码
authAuth请求的身份验证信息,确保请求来源合法
参数类型说明
inpaintImgstring修复结果图的 base64 编码
vision.inpaintForeground({
image: '',
mask: '',
auth: {
appId:"12345678", // 需要替换自己的appId
appKey: "dkjdkjfi" // 需要替换自己的appKey
}
})
.then((result:InpaintForegroundResult) => {
console.log('inpaintForeground result', result);
})
.catch((data:string,code:number) => {
console.error(`inpaintForeground 失败, code:${code};data:${data}`);
});

vision.cropImage(params:CropImageParams):Promise

Section titled “vision.cropImage(params:CropImageParams):Promise”

构图裁剪,基于图像的主体内容及画幅要求,提供优质的图像智能裁剪能⼒

属性必填类型说明
authobject请求的身份验证信息,确保请求来源合法
imageListobject裁剪的图片信息列表,详见下方 imageList 说明
aspectRatioArray裁剪比例列表 ,例如[“10060”,“10383”]
参数必填类型说明
imageUrlstring图片链接
imgSymbolstring图片唯一标识
参数类型说明
imageListArray返回的图片信息列表,详见下方 ImageResult 说明
参数类型说明
imageSymbolstring图片名称标识
cropResultArray裁剪结果,详见下方 CropResult 说明
参数类型说明
aspectRatiostring输入的裁剪比例
boxArray该裁剪比例对应的裁剪坐标
const auth = {
appId:"12345678", // 需要替换自己的appId
appKey: "dkjdkjfi" // 需要替换自己的appKey
}
const request = {
auth: auth,
imageList: {
image_url: "imageUrl" // 替换具体的图片路径
},
aspectRatio:["100*60","103*83"]
}
vision.cropImage(request)
.then((result:CropImageResult) => {
console.log('cropImage result', result);
})
.catch((data:string,code:number) => {
console.error(`cropImage 失败, code:${code};data:${data}`);
});