视觉技术

更新时间:

使用前提条件

该接口底层依赖于 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", // 需要替换自己的appId
        appKey: "dkjdkjfi" // 需要替换自己的appKey
        }
})
.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", // 需要替换自己的appId
        appKey: "dkjdkjfi" // 需要替换自己的appKey
    }
    })
    .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", // 需要替换自己的appId
        appKey: "dkjdkjfi" // 需要替换自己的appKey
        }
    })
    .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", // 需要替换自己的appId
        appKey: "dkjdkjfi" // 需要替换自己的appKey
        }
    })
    .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", // 需要替换自己的appId
        appKey: "dkjdkjfi" // 需要替换自己的appKey
    }
    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);
        });
复制代码
上一篇
概述
以上内容对您是否有帮助?
  • 毫无帮助
  • 帮助不大
  • 一般
  • 很好
  • 非常好
意见反馈