Android开发

2021一位Android中级程序员的跳槽面经,感悟分享

本文主要是介绍2021一位Android中级程序员的跳槽面经,感悟分享,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
### 本文知识点 ##### 身份证识别整体架构 - 效果演示 - 身份证识别的应用场景 - 项目核心架构 ##### 身份证识别关键技术 - NDK开发的原理 - 什么是JNI - OpenCV架构体系 - OCR技术架构 ##### 身份证识别项目实战 - 关键架构 - 核心步骤与手写实现 - 同步运行下IOS windows - Android架构 ### 一.什么是身份证识别 ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210706/1625568837118571.jpg) 关键问题分析:找到号码所在区域→获取号码图片→识别身份证号码 ### 二.核心 **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开发::** ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210706/1625568837117049.jpg) ### 三.详细架构 ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210706/1625568837284469.jpg) **问题:** >1: 什么是灰度图 >2: 什么是二值化为什么? >3: 轮廓检测是什么 >4: 图像膨胀是什么 >5: 图片分割会导致OOM吗? >6: OCR文本训练如何进行 >7: 图文识别的API是怎样的? ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210706/1625568837424351.jpg) ##### 3.1图像识别核心步骤-灰度化 ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210706/1625568837412775.jpg) ##### 3.2图像识别核心步骤-二值化 ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210706/1625568838591462.jpg) ##### 3.3图像识别核心步骤-轮廓检测 所有连续的闭包用矩形框起来 ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210706/1625568838731565.jpg) ##### 3.4图像识别核心步骤-膨胀 ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210706/1625568838576116.jpg) ##### 3.5图像识别核心步骤-轮廓筛选 ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210706/1625568838944194.jpg) ##### 3.6文字识别 OCR文字样本→记忆文本→直文字识别 ### 总结 ##### 图片上传怎么做? 不能说,接口怎么实现,我就怎么调用,虽然我也是这么做的 **要明白:** >1:明白什么是Http,从而知道http如何上传图片 >2:使用okhttp,retrofit怎么是实现这个过程 ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210706/1625568838428406.jpg) ### 最后 如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。 ![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210706/1625568838317010.jpg) > 最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习! ##### 需要资料的朋友可以[点击我的腾讯文档免费领取](https://docs.qq.com/doc/DSkNLaERkbnFoS0ZF)
这篇关于2021一位Android中级程序员的跳槽面经,感悟分享的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!