Skip to content
AI360Xpert
Beta

License Plate Recognition

License plate recognition finds the plate on a moving car and reads its characters, handling tilt, dirt, and night glare that break naive OCR.

A plate tilted 18 degrees reads with one character error before warp and zero errors after warp plus syntax check
A plate tilted 18 degrees reads with one character error before warp and zero errors after warp plus syntax check

Why Does This Exist?

Toll gates, parking lots, and traffic policing need the plate string, not just a car box. Plates tilt with lanes, blur with speed, and hide behind dirt and frames. Generic text readers trained on documents fail on reflective embossed characters at night.

Plate recognition exists for that chain. Input is a vehicle image or frame. Output is the plate string with a box and confidence. Detection is object detection; word boxes are text detection and character reading is text recognition.

Use it when plates follow a known syntax and camera angle is constrained. Use manual review when plates are foreign, custom, or deliberately obscured.

Think of It Like This

Copying a house number from a passing bus

You spot the number board, tilt your head to level it, sound out smudged digits, then check the street pattern to resolve a doubtful 8 versus B.

Detection is spotting the board. Warp is tilting your head. Syntax is the street pattern. The analogy stops at light: your eyes adapt to headlights instantly while the camera needs exposure control and infrared to hold contrast.

How It Actually Works

Detect the vehicle, then the plate quad inside it, then warp the quad to frontal with a homography. Read characters with a sequence OCR head and constrain with plate syntax: length, allowed letters per slot, and checksum where present. Contract is car image in, string plus box out. A plate at 1818 degrees tilt reads with 11 error raw because narrow strokes merge; after warp the same head reads 77 of 77 correctly and syntax confirms the doubtful slot.

Worked example

A night capture shows a 77 character plate at 1818 degrees with one dim lamp. Raw OCR returns 66 of 77 with an 8 read as B. The quad warps to 280×70280 \times 70 pixels, giving 4040 pixels per character width. Reread gives 77 of 77 with confidences 0.930.93 average. Syntax expects a letter in slot three and accepts B, so the string ships with 00 errors and a logged crop.

Watch Out For

Motion blur plus glare sold as readable

A 1/1001/100 s exposure on a fast car smears strokes by 66 pixels while plate lamps bloom. Detection still fires at 0.90.9 but characters guess. The symptom is confident wrong strings. Fix it with faster shutter plus infrared illumination and by refusing low stroke contrast instead of guessing.

Syntax from one region forced worldwide

A German pattern checker rejects French plates by design. The symptom is perfect reads flagged as invalid across borders. Fix it with per region syntax packs and a plain read mode when the region is unknown.

The Quick Version

  • Plate recognition chains vehicle, plate quad, warp, OCR, and syntax.
  • Warp plus syntax fix tilt and resolve lookalike characters.
  • The fixture moves from 66 of 77 to 77 of 77 after leveling 1818 degrees.
  • Contract is car image in, string plus box out with confidence.
  • Light and shutter decide accuracy before the reader runs.