The objective of PRISM is to build a full application using an implementation of the Automatic License Plate Recognition (ALPR) system for capturing and extracting license plate information from camera footage. The application collects the license plate information and transfers it to a database for storage and retrieval. The information can then be matched and retrieved from the database for use in law enforcement activities such as locating missing persons and enforcing traffic laws.


The inspiration for this project is finding missing persons and saving lives. Another source of inspiration is the hard work and diligence that law enforcement agencies display on a regular basis in locating missing persons, enforcing traffic laws, and apprehending fugitives.


The intention of PRISM is to provide a viable and efficient tool for automatically gathering license plate information and storing it in a database for the purpose of being retrieved by clients. This can be a valuable tool for law enforcement agencies, security, and intelligence, with the capacity to gather important information regarding missing persons, illegal activities, and traffic violations.

Hardware Used

Raspberry Pi 3

Camera (PiCam)

Programming Languages, Frameworks, and Platforms Used




OpenCV 5: OpenALPR



Firebase Storage

Google Cloud Platform

Twitter Authentication

Development Process

PRISM is being developed using Node.js, Google Cloud, Firebase, Firebase Storage, JSON, OpenCV, Tesseract, and Python 3 in a virtual environment on Raspberry Pi. PRISM utilizes a smart camera to record license plate information and store it in a database for retrieval. It functions by recording an MP4 video file using a PiCam and capturing snapshots of each frame. The video is converted from Raw Stream H264 to an MP4 and transferred to a database. The snapshots are fed through an ALPR (Automatic License Plate Reader), the results of which are then converted to a JSON object and transferred to a database for storage. A three-page user interface has been implemented for administrators and clients to access the database.

The ALPR was created using OpenCV 5 and deep learning in Tesseract. The use of deep learning methods served as the foundation for creating a functional Automatic License Plate Recognition system. The ALPR is then used in conjunction with the database and user interface to create a fully operational information system with both front-end and back-end capabilities.

The database uses Firebase Storage to store JSON objects containing the relevant license plate information. Stored information includes the license plate number, the drivers name, and the city the license plate is registered to. The information may be transferred to the database by administrators and retrieved from the database by clients using a front-end interface.

The graphical user interface for the smart camera is a set of login pages that have been created using the Firebase Javascript Library in the Webstorm IDE. The login interface consists of three pages, the index page, the administrator page, and the client page. The index page contains two fields, one for login username and one for the login password. The administrator page contains three fields, a field for the license plate number, a field for the name of the driver, and a field for the city the vehicle is registered to. The client page allows for the client to retrieve license plate information from the database.

What we learned

What's next for PRISM

Built With

Share this project: