After working on Android for 5 years, why did I get offers from three major manufacturers, Ali, Tencent, and Toutiao? Hematemesis

Find a very good material for learning Android compiled by Great God on GitHub and share it with everyone.

Knowledge points in this article

The overall structure of ID card recognition
  • Effect demonstration
  • Application scenarios of ID card recognition
  • Project core structure
Key technology of ID card recognition
  • Principles of NDK development
  • What is JNI
  • OpenCV architecture system
  • OCR technology architecture
ID card recognition project combat
  • Key architecture
  • Core steps and handwritten implementation
  • IOS windows running synchronously
  • Android architecture

1. What is ID card recognition


Key problem analysis: find the area where the number is located → get the number picture → identify the ID number

2. Core

OpenCV:
The full name of OpenCV is Open Source Computer Vision Library, which is a cross-platform computer vision library. IBM began research and development in 1999, using C++ to provide interface Mat data structure

Application areas:
Image processing. Face recognition. Gesture recognition. Human-computer interaction action recognition. Motion tracking. Object recognition image segmentation

Tess-two:
The full name of OCR is Optical Character Recognition is a process of analyzing and recognizing image files of text data to obtain text and layout information.

tess-two is a git branch of TesseraToolsForAndroid

Use characteristics:

1: Simple and easy to use
2: Open source and support offline use
3: Java api customized for the Android platform

NDK development::

3. Detailed architecture

problem:

1: What is a grayscale image
2: What is binarization and why?
3: What is contour detection
4: What is image expansion
5: Will image segmentation cause OOM?
6: How to perform OCR text training
7: What is the API for graphic recognition?

3.1 The core steps of image recognition-grayscale

3.2 The core steps of image recognition-binarization

3.3 The core steps of image recognition-contour detection

All continuous closures are framed by rectangles

3.4 The core steps of image recognition-expansion

3.5 The core steps of image recognition-contour screening

3.6 text recognition

OCR text sample → memorized text → straight text recognition

to sum up

How to upload pictures?

It can’t be said that I will call how the interface is implemented, although I also do it

To understand:

1: Understand what Http is, and know how http uploads pictures.
2: Using okhttp, how does retrofit realize this process?

End of sentence

The junior engineer will start to do it directly when he gets the requirements, and then do it and find that there is a problem, either the technology cannot be realized, or there is a logic problem.

However, senior engineers will consider a lot when they get the requirements, the feasibility of the technology? Does it help existing businesses? The impact on the existing technology architecture? How scalable is it? Wait...then the design coding stage will be carried out later.

And now with the popularity of cross-platform development, hybrid development, and front-end development, the technologies that Android developers need to learn and master are also increasing.

Through exchanges and discussions with friends in some industries, and refer to the current interview requirements of major factories. We spent almost a month sorting out all the knowledge systems that this Android senior engineer needs to master. You can see how much you have mastered.

Hybrid development, WeChat applet. Must be learned and proficient

These are the cores of Android related technologies, as well as advanced Java

Some techniques necessary for advanced advanced. Like the actual combat of mobile development architecture projects, etc.

Android cutting-edge technology; including componentization, hot upgrade and hot repair, and detailed technical systems of various architectures and frameworks

The above is the technical system we have compiled for Android senior engineers to master. Many friends may think that many technologies can be achieved by themselves, but some new technologies are not clear. There should be no big problem.

And this is precisely the problem! Why other senior engineers can exceed 300,000 years, but you only have a few hundred thousand?

Just because you only need to add what you think you need, but you don't know what the company needs. This is particularly easy to cause gaps. Because your technical system is not systematic, it is fragmented and scattered. So why do you exceed 300,000 annual salary?

These words of mine are relatively straightforward and may poke some people's glass hearts, but I know it will definitely have a wake-up effect for some people. As long as someone finds a direction based on my advanced system outline and these words, and takes action to improve themselves, they will work harder to succeed. Then what I did all made sense.

If you like it, please help forward and like it so that more people in need can see it. Thank you!

I have all the technical information contained in the above system outline. You can share it with friends in need for free!

. As long as someone finds a direction based on my advanced system outline and these words, and takes action to improve themselves, they will work harder to succeed. Then what I did all made sense.

If you like it, please help forward and like it so that more people in need can see it. Thank you!

I have all the technical information contained in the above system outline. You can share it with friends in need for free!

Information collection method: click on my GitHub

Guess you like

Origin blog.csdn.net/chayel123/article/details/113106365