阿里云高校计划视觉AI五天训练营 Day02 学习笔记

本文涉及的产品
视觉智能开放平台,视频资源包5000点
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
简介: 终于又在这一章看到了又爱又恨的JaveEE全家桶,Apache MAVEN 和 Springboot 真生产力!

Day 02

作者:第五组 邓佳阳

打卡截图

Aliyun 打卡02.jpg

学习笔记

身份证识别系统搭建

项目简介

(不废话,先看东西...)

用户上传身份证人像面和国徽面之后,点击开始识别,就可以得到身份证正反面的内容了。

image.png

image.png

如何获取视觉智能开放平台提供的 SDK ?

(进视觉智能开放平台找Java-OCR就对了)

image.png

Gradle和MAVEN都提供了,Aliyun做的是真滴全而省心。

项目实现逻辑

前端

喜闻乐见的HTML,具体实现基于 thymeleaf 做的一个模版。
上传方面,对input控件进行一定限制,有一个格式的规定,并且还写了一个alert,给用户的误操作提供了一个警示报错。
正确上传后的大致逻辑为两部分:一是展示上传的图片,二是对 OCR 识别出的信息进行展示,包括姓名、性别、民族、出生日期等信息。

控制层

(个人Java比较菜,年纪轻轻就上了C++的贼船)

控制层主要包括如下几部分:
● 定义的若干个私有成员;
● MainController;
● saveFile;
● index;
● uploadFile。

私有成员

私有成员变量包括上传图片文件本地保存地址(uploadDirectory)、调用视觉智能开放平台能力的封装(ocrService)、上传图片的缓存路径地址
(faceImage、backImage)、识别结果的缓存(faceResults、backResults)。

MainController

MainController 构造方法的代码如下图所示,其中 file.upload.path 变量是在配置文件中的,是本机的一个上传文件的目录地址,大家可以在实践的时候根据自己的情况进行设置。这里有个小技巧,这里配置的目录地址其实是项目 target 目录下的一个子目录,这是因为 springboot 会默认取 target 下的 static 目录作为静态文件的地址,如果我们这么设置的话,上传和读取文件对应的是同一目录,可以更方便的进行文件的读取和存储操作。
image.png

saveFile

saveFile 是一个私有方法,用来保存文件,其代码如下图所示。
image.png

index

index 是一个控制方法,是一开始进入页面时候用来加载模版的。首先是判断
faceImage 和 backImage 缓存是否一样,如果不一样,就全部清除掉;其次就是将已经上传的结果进行展示,起到一个重新刷新页面也不会丢失识别结果的作用。
image.png

uploadFile

uploadFile 也是一个控制方法,有三个参数,一个正面的人像面的文件,一个背面的国徽面的文件,还有一个用来重定向的参数。首先,判断两张图片是否是空的,如果是空的,将会重定向到 index,相当于重新进入首页,并且会有一个 message来提示用户必须要上传一个文件,否则是无效的;接下来判断上传目录是否存在,如果不存在就递归的进行创建;然后如果人像面的文件不为空,将其保存到本地,紧接着调用视觉智能开放平台的能力去进行识别,在拿到结果之后将上传的图片和识别结果加入到缓存池中,国徽面的处理方式也类似;最后几行代码是异常的处理,并且会告知用户是哪种报错。
image.png

OcrService

CcrService 的 实 现 代 码 如 下 所 示。 首 先, 是 4 个 私 有 变 量,ocrClient、runtime、accessKeyId 和 accessKeySecret, 其 中 accessKeyId 和 accessKeySecret 要在配置文件中进行配置;其次是一个初始化方法,初始化 Client 和runtime;接下来是真正调用视觉智能开放平台身份证识别的方法,具体来说,在设置好 request 之后,我们将 request 和 runtime 作为参数传递给 ocrClient 来调用身份证识别的方法,之后我们得到相应的 response,也就是识别的结果,之后我们将结果处理成哈希 Map 返回给控制层。
image.png
控制层拿到返回的结果之后,结合前端的优化进行结果的展示,至此,我们便完成了一个身份证识别系统的构建。

总结

自从转了C++和Python后,在这一块的具体应用方面再度看到官方文档出现Java,真的唏嘘不已。果然还是得两手抓,以及在Web方面Java还是老大哥。牛!

目录
相关文章
|
9天前
|
机器学习/深度学习 人工智能 物联网
AI赋能大学计划·大模型技术与应用实战学生训练营——湖南大学站圆满结营
12月14日,由中国软件行业校园招聘与实习公共服务平台携手魔搭社区共同举办的AI赋能大学计划·大模型技术与产业趋势高校行AIGC项目实战营·湖南大学站圆满结营。
AI赋能大学计划·大模型技术与应用实战学生训练营——湖南大学站圆满结营
|
3月前
|
机器学习/深度学习 人工智能 数据挖掘
阿里云云工开物助力高校的高校计划有什么用
阿里云“云工开物”高校计划旨在推动云计算技术在高校的普及与应用,通过提供云计算资源、算力支持、在线学习平台、开发者社区及数据科学竞赛等,帮助大学生提升实践能力和创新思维,培养更多创新型人才,促进校企合作。
323 2
|
2月前
|
机器学习/深度学习 人工智能 算法
AI赋能大学计划·大模型技术与应用实战学生训练营——吉林大学站圆满结营
10月30日,由中国软件行业校园招聘与实习公共服务平台携手魔搭社区共同举办的AI赋能大学计划·大模型技术与产业趋势高校行AIGC项目实战营·吉林大学站圆满结营。
|
4月前
|
机器学习/深度学习 人工智能 数据挖掘
云工开物 阿里云高校计划!
阿里云致力于通过先进的云计算技术推动高校科研与教育发展,确保每位在校大学生都能受益于普惠算力。
|
5月前
|
人工智能 智能设计 数据挖掘
阿里云高校计划价值与意义解析
阿里云推出了“阿里云高校计划”,旨在通过提供普惠算力和丰富的云产品,助力高校科研与教育加速,让每位在校大学生都能真实受益于这一技术变革。本文将深入探讨阿里云高校计划的详细内容及其对高校学子的深远影响。
阿里云高校计划价值与意义解析
|
8月前
|
人工智能 自然语言处理 Cloud Native
通义灵码×西安交通大学携手打造“云工开物-高校训练营”,解锁 AI 时代编程学习与实战
阿里云与西安交通大学计算机学院携手打造的“云工开物-高校训练营”,带你走近 AI 编程助手“通义灵码”。
|
8月前
|
弹性计算 人工智能 数据挖掘
阿里云高校计划“云工开物”解读,适合学生及高校教师参考
阿里云推出“云工开物”高校计划,向学生和教师提供优惠,旨在支持高等教育和培养科技人才。学生通过学信网认证可获300元优惠券和3折云服务器优惠;教师享5折全线产品折扣。此外,还有“极速上云”活动和各类挑战赛,促进实践和创新。
阿里云高校计划“云工开物”解读,适合学生及高校教师参考
|
人工智能 弹性计算 云栖大会
2023云栖大会 | 阿里云高校计划,助力高校科研与教育加速,让每位中国在校大学生真实受益于普惠算力
10月31日,阿里云在2023杭州云栖大会上宣布一项面向全国高校的重磅计划——阿里云高校计划,助力高校科研与教育加速,让每位中国在校大学生真实受益于普惠算力
936 6
2023云栖大会 | 阿里云高校计划,助力高校科研与教育加速,让每位中国在校大学生真实受益于普惠算力
|
开发者
阿里云产品免费试用与高校计划“云工开物”常见问题
阿里云开放超过140款云产品免费试用,最长免费试用12个月,支持开发者“0”门槛云上创新。同时阿里云通过 “云工开物”高校计划为学生用户推出了300元学生专享优惠券、3折购买权益和教师专享5折购买权益,本文为大家整理汇总了阿里云产品免费试用与高校计划“云工开物”常见问题,以供学习和了解。
1270 0
阿里云产品免费试用与高校计划“云工开物”常见问题
|
8月前
|
云计算 开发者
阿里云免费试用与高校计划常见问题解答参考
阿里云免费试用活动和高校学生及教师活动是阿里云推出的两大优惠活动,旨在降低用户上云门槛,让更多人体验到云计算的便捷和高效。本文主要解答免费试用与高校计划的一些常见问题。
阿里云免费试用与高校计划常见问题解答参考