第三节课——【文字识别项目讲解及使用说明】(一)|学习笔记

简介: 快速学习第三节课——【文字识别项目讲解及使用说明】

开发者学堂课程【达摩院视觉 AI 精品课:第三节课——【文字识别项目讲解及使用说明】】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/912/detail/14420


第三节课——【文字识别项目讲解及使用说明】(一)

内容介绍:

一、如何使用SDK

二、介绍Request阶层

三、OcrService的实现逻辑


一、如何使用SDK

首先进入智能视觉开放平台官网:http://vision.aliyun.com/,点击文字识别-身份证识别,点击查看产品文档,点击 SDK 参考,对 Java 来说有两种 SDK的选择,第一种是通用的 SDK,这里选择使用第二种的支持本地上传的 SDK。

接着复制下方说明里的链接粘贴到网页并在最后加一个 ocr/,目前代码使用的版本是1.0.3,点击就可以看到Maven坐标,也就是代码里使用 SDK 的坐标了。

接下来是整个项目的实现路径和其中需要注意的点和方法:

<html lang="en" xmlns:th="http:/ /www.thymeleaf.org">

<head>

<title>VIAPI</title>

<link rel=”stylesheet" href=https://cdn.bootcss.com/bootstrap/3. 3.7/css/bootstrap.min.css><script src="https://apps.bdimg. com/libs/jquery/2.1.4/jquery.min.js"</script>

</head>

<body>

<div class="container">

<div class="row">

<div class="col-md-12 mx-auto">

<h2>VIAPI RecognizeIdentityCard Example</h2>

<div class=”col-sm-12"><p th:text="${message}" th:if="$imessage ne null}" class="alert alert-primary"></p

</div><form method="post" th:action="@{/upload}" enctype="multipart/form-data">

<div class="col-sm-4">

<div class="input-group">

<input id='location' class="form-control" onclick="Ş('#i-face' ) .click();"

<label class="input-group-btn">

<input type="button" id="i-check" value="上传人像面" class=btn btn-primary" onclick="Ş('#i-face').click();”>

</label>

</div>

</div>

<input type="file" name= “face” id='i-face’ accept=”.jpg,.p1g,.jpeg" onchange=" Ş('#location').val(Ş('#i-face'). val());" style=”display: none”>

<div class="col-sm-4">

<div class="input-group">

<input id='location1' class="form-control" onclick=”Ş('#i-back ' ) .click();"

<label class=”input-group-btn">

<input type="button"id="i-check-1" value="上传国徽面" class=btn btn-primary" onclick="Ş( '#i-back ').click);”>

</label>

</div>

</div>

<input type="file" name="back" id='i-back' accept=" .jpg,.png,.jpeg" onchange="Ş('#location1').val(Ş('#i-back '),val()):" style=”…”>

<div class="col-sm-4">

<button type="submit" class="btn btn-primary">开始识别</button>

</div>

</form>

</div>

</div>

<div class="row" style="margin-top: 30px; ">

<div class=col-md-12 mx-auto">

<div class="col-sm-4><img style="width: 100%;" th:src="${faceImagc}" th:if="$faceImage ne null}" class="img-fluid" alt=""/>

</div>

<div class="col-sm-4>

<img style=”width: 100%;" th:src="${backImage}" th:if="${backImage ne null}"class"

mg-fluid" alt=""/>

</div>

</div>

</div>

<div class="row" style="…">

<div class="col-md-12 mx-auto">

<div class="col-sm-4>

<p th:if="${faceResult ne null}"><span>姓名

</span><span th:text="${faceResult.name}">/span></p>

<p th:if="${faceResult ne null}"><span>性别:</span><span th:text="${faceResult.gender}">/span></p>

<p th:if="${faceResult ne null}"><span>民族

</span><span th:text="${faceResult.nationality}">/span></p>

<p th:if="${faceResult ne null}"><span>

出生日期:</span><span th:text="${faceResult.birthDate}">/span></p>

<p th:if="${faceResult ne null}"><span>

住址</span><span th:text="${faceResult.address}">/span></p>

<p th:if="${faceResult ne null}"><span>

身份证号码:</span><span th:text="${faceResult.IDNumber}">/span></p>

</div>

<div class-“col-sm-4”>

<p th:if="${backResult ne null}"><span>

签发机关:</span><span th:text="${backResult.issue}">/span></p>

<p th:if="${backResult ne null}"><span>

有效日期:</span><span th:text="${backResult.startDate}">/span>-<span th:text=”${backResult.click:”}></p>

</div>

</div>

</div>

</div>

</body>

效果如图:

image.png

以上就是一个前端页面结构以及它实现的逻辑点。


相关文章
|
机器学习/深度学习 算法 搜索推荐
推荐算法介绍
推荐算法介绍
1620 0
|
存储 人工智能 调度
GPT-4 Turbo 发布 | 大模型训练的新时代:超算互联网的调度与调优
算力对训练模型的重要性日益凸显。随着大模型训练的流行,全球显卡和算力正在快速增长。算力后周期市场也在迅速崛起。其中“后”更多是指后服务市场,涵盖从显卡服务器到货IDC之后,形成稳定算力到输出稳定商业推理结果全过程。该过程主要涉及云化、调优、调度、部署、落地和数据管理等环节。
1710 0
|
8月前
|
编译器 程序员 C语言
C语言深度解析:未定义行为(UB)—— 90%玄学bug的根源
C语言因极致性能与硬件控制力成为系统开发首选,但其“自由”伴生未定义行为(UB):语法合法却结果不可控,是“调试正常、上线崩溃”的元凶。UB包括数组越界、有符号溢出、空指针解引用、序列点违规、重复释放等,编译器可任意优化或崩溃。规避需严守边界、开启高警告、判空置空、拆分表达式、预检溢出。(239字)
1164 8
|
8月前
|
SQL 缓存 Java
深入拆解 MyBatis:Mapper 动态代理、一级与二级缓存的底层实现与实战
本文深入解析MyBatis三大核心机制:1)Mapper接口通过动态代理实现SQL执行,核心类包括MapperProxy和MapperMethod;2)一级缓存是SqlSession级别的内存缓存,默认开启且基于HashMap实现;3)二级缓存是Mapper级别的可共享缓存,需手动开启且要求实体类实现Serializable。通过代码示例详细演示了缓存的生效条件和失效场景,并对比了一二级缓存的关键差异,帮助开发者深入理解MyBatis底层原理,在实际开发中合理运用缓存机制。
424 1
|
8月前
|
人工智能 文字识别 内存技术
阿里云Tokens如何收费?免费千万Tokens领取及亿万AI大模型扶持计划申请入口
阿里云Tokens按输入/输出分别计费,价格因模型而异(如Qwen-Turbo:0.0003/0.0006元/千Tokens)。新用户开通百炼平台可免费领7000万Tokens(各模型享100万额度),企业认证还可申领万亿Tokens扶持及2000元券,免费Tokens申请链接:https://t.aliyun.com/U/fPVHqY
827 6
|
8月前
|
人工智能 Linux API
全平台部署OpenClaw指南|阿里云+本地三系统+千问/Coding Plan API配置+避坑全解
2026年,OpenClaw(原Clawdbot)凭借“指令驱动+工具执行”的核心优势,从技术极客的探索工具升级为全球通用的AI基础设施,被国际数据科学媒体KDnuggets评为“2026年最火的免费AI Agent工具”。与传统聊天式AI不同,OpenClaw并非单一模型,而是一个能连接各类大语言模型、实现终端执行、文件读写、跨应用协同的“万能适配器”,通过可插拔的Skill生态,让AI从“提供建议”升级为“落地执行”,真正成为能干活的“数字员工”。
595 0
|
JavaScript 前端开发 小程序
Vue 3:现代前端开发的革命性进化
Vue 3:现代前端开发的革命性进化
623 54
|
数据采集 API 决策智能
华为诺亚联合中科大发布工具调用模型ToolACE,效果持平GPT-4获开源第一
 【10月更文挑战第10天】华为诺亚方舟实验室与中国科学技术大学合作推出ToolACE,一种自进化合成过程的工具调用模型。ToolACE通过多智能体交互和双重验证系统生成准确、复杂、多样化的工具学习数据,显著提升大型语言模型(LLM)的功能调用能力。实验结果显示,使用ToolACE数据训练的80亿参数模型性能媲美GPT-4,在伯克利功能调用排行榜上获得开源第一。
840 4
|
机器学习/深度学习 算法 机器人
基于自适应RBF神经网络滑模控制的机械臂轨迹跟踪仿真(Simulink仿真实现)
基于自适应RBF神经网络滑模控制的机械臂轨迹跟踪仿真(Simulink仿真实现)
761 4
|
安全 机器人 数据安全/隐私保护
手机屏幕点击器,屏幕自动点击器,免费连点器(自动点击)【autojs】
完整UI界面:包含坐标录制、执行控制、参数设置等区域 坐标录制功能:实时捕捉屏幕点击位置并记录坐标

热门文章

最新文章