Skip to content

Instantly share code, notes, and snippets.

@peteristhegreat
Last active June 28, 2025 15:33
Show Gist options
  • Save peteristhegreat/8f88f0dcfc954e1058d507f4ef4396f5 to your computer and use it in GitHub Desktop.
Save peteristhegreat/8f88f0dcfc954e1058d507f4ef4396f5 to your computer and use it in GitHub Desktop.
US License Plate ALPR ANPR, datasets, training, OCR research, 2025

Motivation

ALPR and ANPR

Automatic License Plate Recognition

Automatic Number Plate Recognition

I wanted to build out a mobile ALPR app without paying a subscription cloud fee to someone. I dug in and found that it is a pretty layered problem, especially with the constraints I had given myself.

Datasets

A few different ones

https://www.kaggle.com/datasets/tolgadincer/us-license-plates

https://www.plateshack.com/y2k/index.html

https://public.roboflow.com/object-detection/license-plates-us-eu?utm_source=chatgpt.com

https://www.kaggle.com/datasets/gpiosenka/us-license-plates-image-classification/data

Tesseract v PaddleOCR

Two different big names in opensource OCR.

Tessdata

309 KB, from Dec 2015. https://github.com/SandroMachado/openalpr-android/blob/master/app/src/main/assets/runtime_data/ocr/tessdata/lus.traineddata

https://tesseract-ocr.github.io/tessdoc/Data-Files

https://github.com/tesseract-ocr/tessdata/raw/4.00/eng.traineddata

Other runtime data

Keypoints, Postprocess, Region, etc.

https://github.com/SandroMachado/openalpr-android/tree/master/app/src/main/assets/runtime_data

Raw Image to License Plate number

https://www.ultralytics.com/blog/using-ultralytics-yolo11-for-automatic-number-plate-recognition

YOLOvXXX, OpenCV, Darknet

https://github.com/Hyuto/yolov8-tfjs

https://github.com/AlexeyAB/darknet

https://github.com/christianroman/ANPR

https://github.com/aqntks/Easy-Yolo-OCR

https://medium.com/saarthi-ai/how-to-build-your-own-ocr-a5bb91b622ba

https://medium.com/@bibekdhakal.dev/an-introduction-to-license-plate-recognition-with-python-a9a69ac4a06d

https://github.com/Dodant/anpr-with-yolo-v4?tab=readme-ov-file

https://github.com/theAIGuysCode/yolov4-custom-functions/blob/master/data/video/cars.mp4

https://www.youtube.com/watch?v=AAPZLK41rek&t=3s

https://www.reddit.com/r/computervision/comments/ixmncf/license_plate_recognition_using_yolov4_opencv_and/

Yolo and Darknet need python. So this is running on a server with some good graphics cards behind it.

This would be difficult to get into a mobile device today...

Stackoverflow

https://stackoverflow.com/questions/19268648/using-tesseract-to-recognize-license-plates

Tensorflow, Nvidia

https://www.kaggle.com/code/thnhhiu/plate-detector-using-tensorflow/notebook

https://developer.nvidia.com/blog/creating-a-real-time-license-plate-detection-and-recognition-app/

Fonts

https://www.1001fonts.com/license-plate-fonts.html

https://ia800802.us.archive.org/1/items/license-plate-fonts/USALicensePlate.ttf

openalpr

https://github.com/openalpr/train-detector

https://github.com/openalpr/train-ocr/blob/master/train.py

npm options, tesseract.js tessseract-wasm yolov8-tfjs

https://transloadit.com/devtips/integrating-ocr-in-the-browser-with-tesseract-js/

https://github.com/robertknight/tesseract-wasm

https://github.com/naptha/tesseract.js/

https://github.com/Hyuto/yolov8-tfjs

react-native app openalpr

https://www.freecodecamp.org/news/license-plate-recognition-in-react-native-b4f790d3a160#.jngb9oclt

https://github.com/RobertSasak/react-native-openalpr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment