Before explaining the ANPR code, we need to define the main steps and tasks in the ANPR algorithm. ANPR is divided in two main steps: plate detection and plate recognition. Plate detection has the purpose of detecting the location of the plate in the whole camera frame. When a plate is detected in an image, the plate segment is passed to the second step—plate recognition—which uses an OCR algorithm to determine the alphanumeric characters on the plate.
In the next figure we can see the two main algorithm steps, plate detection and plate recognition. After these steps the program draws over the camera frame the plate's characters that have been detected. The algorithms can return bad results or even no result: