前言
曾听过很多人说Android学习很简单,做个App就上手了,工作机会多,毕业后也比较容易找工作。这种观点可能是很多Android开发者最开始入行的原因之一。
在工作初期,工作主要是按照业务需求实现App页面的功能,按照设计师的设计稿实现页面的效果。
在实现的过程中,总是会被提如下的需求:
这个字能不能大点或者醒目点儿?
颜感觉颜色和设计稿有差别,能不能再调调?
怎么老是崩溃啊,行不行啊?
…
所以,工作过一年后你会发现,自己的工作重点就是**将找各种各样的组件、框架,拖拖拽拽,改改样式。**在极端情况下出现了问题后(比如部分机型上崩溃,加载图片慢),也不知道该如何解决!都不好意思说自己是搞技术的。
造成这种局面的有两种原因:
- 所开发的App功能要求并不复杂,在性能上呢,也不需要极致的追求;
- 自己的意识不够,不知道如何从平凡的工作中提炼可优化的点,在向上提升方面也没有完整的规划。
本文知识点
身份证识别整体架构
- 效果演示
- 身份证识别的应用场景
- 项目核心架构
身份证识别关键技术
- NDK开发的原理
- 什么是JNI
- OpenCV架构体系
- OCR技术架构
身份证识别项目实战
- 关键架构
- 核心步骤与手写实现
- 同步运行下IOS windows
- Android架构
一.什么是身份证识别
关键问题分析:找到号码所在区域→获取号码图片→识别身份证号码
二.核心
OpenCV:
OpenCV的全称是Open Source Computer Vision Library是一个跨平台的计算机视觉库。IBM 1999 年开始研发,用C++ 提供接口Mat 数据结构
应用领域:
图像处理. 人脸识别.手势识别.人机交互动作识别.运动跟踪.物体识别 图像分割
Tess-two:
OCR的全称是Optical Character Recognition是一个对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。
tess-two是TesseraToolsForAndroid的一个git分支
使用特征:
1:简单易用
2:开源且支持离线使用
3:为 Android平台定制的java api
NDK开发::
三.详细架构
问题:
1: 什么是灰度图
2: 什么是二值化为什么?
3: 轮廓检测是什么
4: 图像膨胀是什么
5: 图片分割会导致OOM吗?
6: OCR文本训练如何进行
7: 图文识别的API是怎样的?
3.1图像识别核心步骤-灰度化
3.2图像识别核心步骤-二值化
3.3图像识别核心步骤-轮廓检测
所有连续的闭包用矩形框起来
3.4图像识别核心步骤-膨胀
3.5图像识别核心步骤-轮廓筛选
3.6文字识别
OCR文字样本→记忆文本→直文字识别
总结
图片上传怎么做?
不能说,接口怎么实现,我就怎么调用,虽然我也是这么做的
要明白:
1:明白什么是Http,从而知道http如何上传图片
2:使用okhttp,retrofit怎么是实现这个过程
总结
其实要轻松掌握很简单,要点就两个:
- 找到一套好的视频资料,紧跟大牛梳理好的知识框架进行学习。
- 多练。 (视频优势是互动感强,容易集中注意力)
你不需要是天才,也不需要具备强悍的天赋,只要做到这两点,短期内成功的概率是非常高的。
对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。下面资料部分截图是我花费几个月时间整理的,诚意满满:特别适合有3-5年开发经验的Android程序员们学习。
- 自行下载直达领取链接:【点击我即可获得!】
- 以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,【点这里可以看到全部内容】。
以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,【点这里可以看到全部内容】。
[外链图片转存中…(img-ZXhNtHDO-1617458157291)]