接入阿里视觉智能平台免费体验—人脸人体识别ocr与二次元风格转化使用

本文涉及的产品
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,视频资源包5000点
简介: 接入阿里视觉智能平台免费体验—人脸人体识别ocr与二次元风格转化使用

image.png

⭐前言

logo.gif
大家好,我是yma16,本文分享接入阿里视觉智能平台免费体验—人脸人体识别。
ocr概念

OCR是Optical Character Recognition的缩写,即光学字符识别,是一种将图像中的文字或符号识别并转换为可编辑文本的技术。OCR的原理是通过扫描和识别图像中的字符,然后将其转换为计算机可读的文本,以便进行编辑、处理、存储和共享。OCR可以应用于各种场景,如文档数字化、自动化数据输入、身份证、护照、车牌等证件信息识别等。近年来,随着技术的不断发展,OCR的识别精度和应用场景也在不断拓展。

⭐阿里视觉智能平台

平台链接:
https://developer.aliyun.com/group/viapi/?spm=a2c6h.12873639.article-detail.4.759c55ae61KKkB

⭐开通服务

选择人脸识别
image.png
进入人类人体识别功能控制台
image.png

⭐代码接入(node)

接入文档
https://help.aliyun.com/document_detail/188840.html
创建AccessKey
链接直达:
https://ram.console.aliyun.com/manage/ak
image.png

依赖安装

sdk接入渲染node

npm install @alicloud/facebody20191230
npm install @alicloud/ocr20191230
npm install @alicloud/ocr20191230

官方接入:
注意:
process.env对应电脑的环境变量

⭐ocr 文字识别

sdk接入ocr


// 引入SDK
// 1、这里只是以ocr为例,其他能力请引入相应类目的包。包名可参考本文档上方的SDK包名称,能力名可参考对应API文档中的Action参数。例如您想使用通用分割,其文档为https://help.aliyun.com/document_detail/151960.html,可以知道该能力属于分割抠图类目,能力名称为SegmentCommonImage,那么您需要将代码中ocr20191230改为imageseg20191230,将RecognizeBankCard改为SegmentCommonImage。
const OcrClient = require('@alicloud/ocr20191230');
const OpenapiClient = require('@alicloud/openapi-client');
const TeaUtil = require('@alicloud/tea-util');
const fs = require('fs');
const http = require('http');
const https = require('https');

let config = new OpenapiClient.Config({
   
  // 2、创建AccessKey ID和AccessKey Secret,请参考https://help.aliyun.com/document_detail/175144.html。
  // 如果您用的是RAM用户AccessKey,还需要为RAM用户授予权限AliyunVIAPIFullAccess,请参考https://help.aliyun.com/document_detail/145025.html。
  // 从环境变量读取配置的AccessKey ID和AccessKey Secret。运行示例前必须先配置环境变量。 
  accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,   
  accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET
});
// 3、访问的域名。注意:这个地方需要求改为相应类目的域名,参考:https://help.aliyun.com/document_detail/143103.html
config.endpoint = `ocr.cn-shanghai.aliyuncs.com`;
// 4、这里只是以ocr为例,其他能力请引入相应类目的包下面的Client类
const client = new OcrClient.default(config);
const getResponse = function (httpClient, url) {
   
  return new Promise((resolve, reject) => {
   
    httpClient.get(url, function (response) {
   
      resolve(response);
    })
  })
}
const request = async function () {
   
  try {
   
    // 5、这里只是以ocr下的RecognizeBankCard为例,其他能力请使用相应类目的包和类,具体入参设置需要参考具体能力的文档
    let recognizeBankCardAdvanceRequest = new OcrClient.RecognizeBankCardAdvanceRequest();
    // 场景一,使用本地文件
    // const fileStream = fs.createReadStream('/tmp/bankCard.png');
    // recognizeBankCardAdvanceRequest.imageURLObject = fileStream;
    // 场景二,使用任意可访问的url
    const url = new URL("https://viapi-test-bj.oss-cn-beijing.aliyuncs.com/viapi-3.0domepic/ocr/RecognizeBankCard/yhk1.jpg");
    const httpClient = (url.protocol == "https:") ? https : http;
    recognizeBankCardAdvanceRequest.imageURLObject = await getResponse(httpClient, url);
    let runtime = new TeaUtil.RuntimeOptions({
   });
    // 6、这里只是以ocr下的RecognizeBankCard为例,其他能力请使用相应类目的包和类,注意,recognizeBankCardAdvance方法名也需要改成对应能力的方法名。方法名是根据能力名称按照一定规范形成的,如能力名称为SegmentCommonImage,对应方法名应该为segmentCommonImageAdvance。
    client.recognizeBankCardAdvance(recognizeBankCardAdvanceRequest, runtime)
    .then(function(recognizeBankCardResponse) {
   
      // 获取整体结果
      console.log(recognizeBankCardResponse);
      // 获取单个字段
      console.log(recognizeBankCardResponse.body.data);
    }, function(error) {
   
      // 获取整体报错信息
      console.log(error);
      // 获取单个字段
      console.log(error.data.Code);
    })
  } catch (error) {
   
    console.log(error);
  }
}();

使用一张银行卡识别测试:
ocr银行卡号码识别运行结果


RecognizeBankCardResponseBodyData {
   
  bankName: '',
  cardNumber: '*****',
  validDate: '***'
}

原图,图片已经过脱敏处理
image.png

获取的信息,图片已经过脱敏处理

image.png

⭐二次元风格转换

sdk接入二次元风格


//npm install @alicloud/facebody20191230
// 最低SDK版本要求:facebody20191230的SDK版本需大于等于4.0.7
// 可以在此仓库地址中引用最新版本SDK:https://npmjs.com/package/@alicloud/facebody20191230
const FacebodyClient = require('@alicloud/facebody20191230');
const OpenapiClient = require('@alicloud/openapi-client');
const TeaUtil = require('@alicloud/tea-util');
const fs = require('fs');
const http = require('http');
const https = require('https');let config = new OpenapiClient.Config({
   
    // 创建AccessKey ID和AccessKey Secret,请参考https://help.aliyun.com/document_detail/175144.html。
    // 如果您用的是RAM用户AccessKey,还需要为RAM用户授予权限AliyunVIAPIFullAccess,请参考https://help.aliyun.com/document_detail/145025.html。
    // 从环境变量读取配置的AccessKey ID和AccessKey Secret。运行示例前必须先配置环境变量。
    accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
    accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET
});
// 访问的域名
config.endpoint = `facebody.cn-shanghai.aliyuncs.com`;
const client = new FacebodyClient.default(config);
const getResponse = function (httpClient, url) {
   
    return new Promise((resolve, reject) => {
   
        httpClient.get(url, function (response) {
   
            resolve(response);
        })
    })
}
const request = async function () {
   
    try {
   
        let generateHumanAnimeStyleAdvanceRequest = new FacebodyClient.GenerateHumanAnimeStyleAdvanceRequest();
        // 场景一,使用本地文件
        const fileStream = fs.createReadStream('./img/OIP-C.jpg');
        generateHumanAnimeStyleAdvanceRequest.imageURLObject = fileStream;
        // 场景二,使用任意可访问的url
        // const url = new URL('https://viapi-test-bj.oss-cn-beijing.aliyuncs.com/viapi-3.0domepic/facebody/GenerateHumanAnimeStyle/GenerateHumanAnimeStyle8.png');
        // const httpClient = (url.protocol == "https:") ? https : http;
        // generateHumanAnimeStyleAdvanceRequest.imageURLObject = await getResponse(httpClient, url);
        let runtime = new TeaUtil.RuntimeOptions({
   });
        client.generateHumanAnimeStyleAdvance(generateHumanAnimeStyleAdvanceRequest, runtime)
            .then(function (generateHumanAnimeStyleResponse) {
   
                // 获取整体结果
                console.log(generateHumanAnimeStyleResponse);
                // 获取单个字段
                console.log(generateHumanAnimeStyleResponse.body.data);
            }, function (error) {
   
                // 获取整体报错信息
                console.log(error);
                // 获取单个字段
                console.log(error.data.Code);
            })
    } catch (error) {
   
        console.log(error);
    }
}();

运行结果:
原图
dog.jpg

二次元
result (1).png

前后对比
Snipaste_2023-07-29_14-13-41.png

切换人物图片测试

image.png

⭐在线体验

链接直达:
https://vision.aliyun.com/experience/detail?spm=a2cw1.28085164.0.0.7ecc143foaemt1&tagName=facebody&children=GenerateHumanAnimeStyle
原图
image.png

二次元结果图
image.png

原图
Snipaste_2023-07-29_14-21-17.png

二次元图
人物动漫化结果.png

⭐总结

阿里云的视觉智能平台为用户提供了快捷高效的智能接入服务,解决用户时间算力和服务器消耗的痛点,接入sdk的文档也很全面,视觉体验效果很棒。

产品人员调研指引:

  1. 先在体验官网体验接入效果
  2. 对比各种语言使用复杂程度差异

技术人员接入指引:

  1. 开通能力
  2. 创建AccessKey
  3. 在线调试
  4. 根据语言接入sdk

⭐结束

本文分享到这结束,如有错误或者不足之处欢迎指出!

👍 点赞,是我创作的动力!
⭐️ 收藏,是我努力的方向!
✏️ 评论,是我进步的财富!
💖 感谢你的阅读!

目录
相关文章
|
5月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之人脸数据库容量是否支持扩容
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
5月前
|
API 开发工具 Android开发
视觉智能开放平台产品使用合集之人脸活体检测能力是否支持Android端或者iOS端直接调用
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
5月前
|
存储 移动开发 数据库
视觉智能开放平台产品使用合集之人脸数据库容量是否支持扩容
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
5月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之如何提升人体人脸的QPS
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
5月前
|
存储 文字识别 API
视觉智能开放平台产品使用合集之如何提高人脸活体检测的识别率
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
5月前
|
编解码 API 数据库
视觉智能开放平台产品使用合集之用Score还是Confidence可以判断人脸相似度
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
5月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之如何批量添加人脸数据
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
5月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之怎么识别图像中的人脸数量和区域
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
34 1
|
5月前
|
缓存 负载均衡 算法
"揭秘!阿里云视觉智能开放平台人脸1vn搜索慢?轻松几招,QPS飙升,让你的应用快如闪电,用户体验秒变VIP级享受!"
【8月更文挑战第14天】在数字浪潮中,人脸识别技术广泛应用于安全监控到个性化服务等领域。阿里云视觉智能开放平台凭借其强大算法和服务模式成为行业翘楚。面对人脸1:Vn搜索响应慢的问题,不仅可通过增加QPS优化,还需从参数调整、缓存机制、并行处理及算法硬件升级等方面综合施策,以实现搜索速度与准确性的双重提升。
67 2
|
5月前
|
编解码 文字识别 算法
视觉智能开放平台产品使用合集之怎么查询人脸数据库列表
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
36 0

热门文章

最新文章

相关产品

  • 视觉智能开放平台