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

简介: 接入阿里视觉智能平台免费体验—人脸人体识别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

⭐结束

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

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

目录
相关文章
|
1月前
|
文字识别 前端开发 API
文字识别OCR常见问题之处理产品图片识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
22 3
|
1月前
|
文字识别
文字识别OCR常见问题之拦截扫描件的识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
20 2
|
1月前
|
文字识别 API 开发工具
文字识别OCR常见问题之买了资源包识别不成功扣次数如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
23 3
|
1月前
|
文字识别 算法 小程序
视觉智能平台常见问题之人脸人体的sdk返回报错如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
33 4
|
1月前
|
小程序 前端开发 JavaScript
视觉智能平台常见问题之抠人脸的api如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
31 3
|
1月前
|
文字识别 API
文字识别OCR常见问题之支持香港和澳门的营业执照识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
24 3
|
1月前
|
存储 文字识别 API
文字识别OCR常见问题之识别一些截图的模式如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
28 0
文字识别OCR常见问题之识别一些截图的模式如何解决
|
1月前
|
文字识别 负载均衡 安全
文字识别OCR常见问题之通用识别和手写体识别直接合并调用如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
35 4
|
1月前
|
文字识别
文字识别OCR常见问题之图片识别不出来如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
21 2
|
1月前
|
文字识别 开发工具
文字识别OCR常见问题之行驶证识别最近总是识别错误如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
31 0

热门文章

最新文章

相关产品

  • 视觉智能开放平台