SlideShare a Scribd company logo
License Plate Recognition System
using Python and OpenCV
Submitted By -
Vishal Polley (CT20172176247)
Abhay Pandey (DT20173820470)
Faculty Advisor -
Prof. Manik Chandra
Mentor -
Mr. Deepanshu Kukreja
Institute of Engineering and Technology, Lucknow
TCS Remote Internship Program 2018
1
Industrial Training(NIT – 753)
Contents -
• Introduction
• Technologies Used
• Module's Information
• Data Flow Diagram (DFD)
• Test Cases
• Demonstration and Screenshots
• Future Enhancements
• Sources
2
Introduction
• License plate recognition(LPR) is a type of technology, mainly software,
that enables computer systems to read automaticallythe registration
number (license number) of vehicles from digital pictures.
• License Plate Recognition Systems use the concept of optical
character recognition to read the characters on a vehicle license plate. In
other words, LPR takes the image of a vehicleas the input and outputs
the characters written on its licenseplate.
3
Steps
LPR also called ALPR (Automatic License Plate Recognition)has
3 major stages.
4
Cont.
• License Plate Detection -
This is the first and probably the most important stage of the system. It
is at this stage that the position of the license plate is determined.
The input at this stage is an image of the vehicle and the output is
the license plate.
• Character Segmentation -
It’s at this stage the characters on the license plate are mapped out
and segmentedinto individual images.
• Character Recognition -
This is where we wrap things up. The characters earlier segmentedare
identifiedhere. We have used machine learning for this.
5
Technologies Used
• OS - Ubuntu 16.04 :
Ubuntu is a free and open source operating system and Linux distribution
based on Debian . It is the most popular operating system for the cloud .There
is python installed in it which makes our work more easier .
• Python - 3.5 or Up :
Python is an easy to learn, powerful programming language. It has efficient
high-level data structures and a simplebut effective approach to object-
oriented programming. The interpreter and the extensivestandard library are
freely available in source or binary form.
• IDE - Atom :
Atom is a desktop application built using web technologies.It is free and open
source text and source code editor for Linux. It is based on Electron ,a
framework that enables cross-platform desktop applications using Chromium
and Node.js . It is written in Coffee Script and Less.
6
Cont.
• Database - SQLite3 :
SQLite is a relational database management system containedin a C
programming library. In contrast to many other database management
systems, SQLite is not a client-server database engine. It is embedded into the
end program.
• Front End - Tkinter :
Python offers multiple options for developing GUI (Graphical User Interface).
Out of all the GUI methods, Tkinter is most commonly used method. It is a
standard Python interface to the Tk GUI toolkit shipped with Python.
• Back End - Python :
Python is an interpreted high-level programming language. It provides
constructs that enable clear programming on both small and large scales . It is
meant to be an easily readable language. Writing programs in Python takes
less time than in some other languages.
7
Module's Information
• scikit-learn :
scikit-learn is a Python modulefor machine learning built on top of SciPy. It
provides a range of supervised and unsupervisedlearning algorithms viaa
consistent interface in Python.
• scikit-image :
For performing Image Processing we have used scikit-image. It’s a Python
package for image processing.
• Scipy :
SciPy is a free and open-source Python library used for scientificcomputing
and technical computing. It contains modules for optimization, linear algebra,
integration, interpolation,special functions, FFT, signal and image processing,
ODE solvers and other tasks common in science and engineering.
8
Cont.
• OpenCV :
OpenCV (Open Source Computer Vision Library) is an open source computer vision
and machine learning software library. OpenCV was built to provide a common
infrastructure for computer vision applications and to accelerate the use
of machine perception in the commercial products.
• Pillow :
Python ImagingLibrary (abbreviatedas PIL ) is a free library for the Python
programminglanguage that adds support for opening, manipulating, and saving
many different image file formats.
• Numpy :
NumPy is a library for the Python programming language, adding support for large,
multi-dimensional arrays and matrices, along with a large collection of high-level
mathematical functions to operate on these arrays.
• Matplotlib :
Matplotlib is a plottinglibrary for the Python programming language and its
numerical mathematics extension NumPy. It provides an object-oriented API for
embedding plots into applications using general-purpose GUI toolkits like
Tkinter, wxPython, Qt, or GTK+.
9
Data Flow Diagram10
Test Cases
INPUT OUTPUT
11
Demonstration and Screenshots
• In the first step, open terminal (Python Bash) and activate the virtualenv
(Python virtual environment) by running the followingcommandinside the
project folder -
source env/bin/activate
12
• Now run the python project by executing python script
named prediction.py in the terminal (Python Bash)
13
• The tkinter image fileinput dialog box will now open.
14
• Now open any car image placed inside images folder in the project folder.
15
• The next step displays the license plate detection process
(plate localization). In this process the original image is convertedto
its grayscale version. Now to localize licenseplate from the image
a specificthresholdis applied to the grayscale image. The following image
shows a comparison between the grayscale image and the threshold
image in the matplotlib pyplot.
16
• Now after localizing license plate from the original image, the next image
shows the process of identifying all the connected regions in the image
using the concept of connected component analysis (CCA). It basically
helps us group and label connectedregions on the foreground. A pixel is
deemed to be connected to another if they both have the same value
and are adjacent to each other.
17
• In the next step we have mapped out all the characters from the image
using character segmentationprocess and CCA.
18
• In the final step we have used supervisedmachinelearning to detect the
possiblecharacter present on the licenseplate. It makes use of a known
dataset (called the training dataset) to make predictions and thus the
licenseplate number is detected and displayed inside a new dialog box as
output.
19
Future Enhancements
• The project currently works over still captured images only, and can be
modified in future to be implementedto extract license plate information
over live video feeds.
• Efficiency of the project can be increasedby improving the character
segmentation algorithm so it can be applicable to various types of car’s
images.
• Image Processing speed can be increasedby installing faster processors.
• Project currently have a simpleGUI based on tkinter but it can be made
much more user friendly and easily navigable by using many other
modules.
• We are currently using pre buildMachine Learning libraries for recognizing
and detecting license plate numbers. Self-written machinelearning codes
can further enhance the speed and process for images of all conditions.
• More number of character datasets can be trained with the project, so to
detect and recognize characters of regional languages and hand written
licenseplates.
20
Sources
• Developing a LicensePlate RecognitionSystem with Machine Learning
in Python By Femi Oladeji
https://blog.devcenter.co/developing-a-license-plate-recognition-system-
with-machine-learning-in-python-787833569ccd
• License Plate Recognition Nigerian Vehicles Dataset
https://github.com/andela-foladeji/License-Plate-Recognition-Nigerian-
vehicles/tree/master/training_data
21
Thank You
22

More Related Content

What's hot

License Plate Recognition Using Python and OpenCV
License Plate Recognition Using Python and OpenCVLicense Plate Recognition Using Python and OpenCV
License Plate Recognition Using Python and OpenCV
Vishal Polley
 
Automatic Number Plate Recognition (ANPR)
Automatic Number Plate Recognition (ANPR)Automatic Number Plate Recognition (ANPR)
Automatic Number Plate Recognition (ANPR)
Vidyut Singhania
 
Vehicle registration plate recognition system
Vehicle registration plate recognition systemVehicle registration plate recognition system
Vehicle registration plate recognition systemshailendra92
 
Automatic Number Plate Recognition(ANPR) System Project
Automatic Number Plate Recognition(ANPR) System  Project Automatic Number Plate Recognition(ANPR) System  Project
Automatic Number Plate Recognition(ANPR) System Project
Gulraiz Javaid
 
License Plate recognition
License Plate recognitionLicense Plate recognition
License Plate recognition
Jasleen Kaur (Chandigarh University)
 
automatic number plate recognition
automatic number plate recognitionautomatic number plate recognition
automatic number plate recognition
Sairam Taduvai
 
Vehicle Number Plate Recognition System
Vehicle Number Plate Recognition SystemVehicle Number Plate Recognition System
Vehicle Number Plate Recognition Systemprashantdahake
 
car number plate detection using matlab image & video processing
car number plate detection using matlab image & video processingcar number plate detection using matlab image & video processing
car number plate detection using matlab image & video processing
Kesava Korukonda
 
Detection of Number Plate using Yolo
Detection of Number Plate using YoloDetection of Number Plate using Yolo
Detection of Number Plate using Yolo
ijtsrd
 
car plate recognition
car plate recognitioncar plate recognition
car plate recognitionCruise Chen
 
License plate recognition
License plate recognitionLicense plate recognition
License plate recognition
slmnsvn
 
Automatic number plate recognition (anpr)
Automatic number plate recognition (anpr)Automatic number plate recognition (anpr)
Automatic number plate recognition (anpr)
Konnet ViAn Pvt. Ltd
 
Traffic sign recognition
Traffic sign recognitionTraffic sign recognition
Traffic sign recognition
AKR Education
 
Number Plate Recognition for Indian Vehicles
Number Plate Recognition for Indian VehiclesNumber Plate Recognition for Indian Vehicles
Number Plate Recognition for Indian Vehicles
monjuri10
 
Traffic Violation Detector using Object Detection
Traffic Violation Detector using Object DetectionTraffic Violation Detector using Object Detection
Traffic Violation Detector using Object Detection
shri ram murti smarak college of engineering,technology & research
 
LICENSE NUMBER PLATE RECOGNITION SYSTEM USING ANDROID APP
LICENSE NUMBER PLATE RECOGNITION SYSTEM USING ANDROID APPLICENSE NUMBER PLATE RECOGNITION SYSTEM USING ANDROID APP
LICENSE NUMBER PLATE RECOGNITION SYSTEM USING ANDROID APP
Aditya Mishra
 
Vehicle number plate recognition using matlab
Vehicle number plate recognition using matlabVehicle number plate recognition using matlab
Vehicle number plate recognition using matlab
Kongara Sudharshan
 
AUTOMATIC CAR LICENSE PLATE RECOGNITION USING VEDA
AUTOMATIC CAR LICENSE PLATE RECOGNITION USING VEDAAUTOMATIC CAR LICENSE PLATE RECOGNITION USING VEDA
AUTOMATIC CAR LICENSE PLATE RECOGNITION USING VEDAMuhammed Sahal c
 
Number plate recogition
Number plate recogitionNumber plate recogition
Number plate recogition
hetvi naik
 

What's hot (20)

License Plate Recognition Using Python and OpenCV
License Plate Recognition Using Python and OpenCVLicense Plate Recognition Using Python and OpenCV
License Plate Recognition Using Python and OpenCV
 
Automatic Number Plate Recognition (ANPR)
Automatic Number Plate Recognition (ANPR)Automatic Number Plate Recognition (ANPR)
Automatic Number Plate Recognition (ANPR)
 
Lpr2003
Lpr2003Lpr2003
Lpr2003
 
Vehicle registration plate recognition system
Vehicle registration plate recognition systemVehicle registration plate recognition system
Vehicle registration plate recognition system
 
Automatic Number Plate Recognition(ANPR) System Project
Automatic Number Plate Recognition(ANPR) System  Project Automatic Number Plate Recognition(ANPR) System  Project
Automatic Number Plate Recognition(ANPR) System Project
 
License Plate recognition
License Plate recognitionLicense Plate recognition
License Plate recognition
 
automatic number plate recognition
automatic number plate recognitionautomatic number plate recognition
automatic number plate recognition
 
Vehicle Number Plate Recognition System
Vehicle Number Plate Recognition SystemVehicle Number Plate Recognition System
Vehicle Number Plate Recognition System
 
car number plate detection using matlab image & video processing
car number plate detection using matlab image & video processingcar number plate detection using matlab image & video processing
car number plate detection using matlab image & video processing
 
Detection of Number Plate using Yolo
Detection of Number Plate using YoloDetection of Number Plate using Yolo
Detection of Number Plate using Yolo
 
car plate recognition
car plate recognitioncar plate recognition
car plate recognition
 
License plate recognition
License plate recognitionLicense plate recognition
License plate recognition
 
Automatic number plate recognition (anpr)
Automatic number plate recognition (anpr)Automatic number plate recognition (anpr)
Automatic number plate recognition (anpr)
 
Traffic sign recognition
Traffic sign recognitionTraffic sign recognition
Traffic sign recognition
 
Number Plate Recognition for Indian Vehicles
Number Plate Recognition for Indian VehiclesNumber Plate Recognition for Indian Vehicles
Number Plate Recognition for Indian Vehicles
 
Traffic Violation Detector using Object Detection
Traffic Violation Detector using Object DetectionTraffic Violation Detector using Object Detection
Traffic Violation Detector using Object Detection
 
LICENSE NUMBER PLATE RECOGNITION SYSTEM USING ANDROID APP
LICENSE NUMBER PLATE RECOGNITION SYSTEM USING ANDROID APPLICENSE NUMBER PLATE RECOGNITION SYSTEM USING ANDROID APP
LICENSE NUMBER PLATE RECOGNITION SYSTEM USING ANDROID APP
 
Vehicle number plate recognition using matlab
Vehicle number plate recognition using matlabVehicle number plate recognition using matlab
Vehicle number plate recognition using matlab
 
AUTOMATIC CAR LICENSE PLATE RECOGNITION USING VEDA
AUTOMATIC CAR LICENSE PLATE RECOGNITION USING VEDAAUTOMATIC CAR LICENSE PLATE RECOGNITION USING VEDA
AUTOMATIC CAR LICENSE PLATE RECOGNITION USING VEDA
 
Number plate recogition
Number plate recogitionNumber plate recogition
Number plate recogition
 

Similar to License Plate Recognition System using Python and OpenCV

Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCVAutomatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV
Editor IJCATR
 
Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV
Editor IJCATR
 
Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...
Iaetsd Iaetsd
 
Generating Signatures for cyberattacks.
Generating Signatures for cyberattacks.Generating Signatures for cyberattacks.
Generating Signatures for cyberattacks.
Shyamsundar Das
 
IRJET- Portable Camera based Assistive Text and Label Reading for Blind Persons
IRJET- Portable Camera based Assistive Text and Label Reading for Blind PersonsIRJET- Portable Camera based Assistive Text and Label Reading for Blind Persons
IRJET- Portable Camera based Assistive Text and Label Reading for Blind Persons
IRJET Journal
 
Python Open CV
Python Open CVPython Open CV
Python Open CV
Tarun Bamba
 
Simple calulator using GUI tkinter.pptx
Simple calulator using GUI tkinter.pptxSimple calulator using GUI tkinter.pptx
Simple calulator using GUI tkinter.pptx
YashSharma357857
 
Implementation of embedded arm9 platform using qt and open cv for human upper...
Implementation of embedded arm9 platform using qt and open cv for human upper...Implementation of embedded arm9 platform using qt and open cv for human upper...
Implementation of embedded arm9 platform using qt and open cv for human upper...
Krunal Patel
 
IMAGE PROCESSING BASED INTRUDER DETECTION USING RASPBERRY PI
IMAGE PROCESSING BASED INTRUDER DETECTION USING RASPBERRY PIIMAGE PROCESSING BASED INTRUDER DETECTION USING RASPBERRY PI
IMAGE PROCESSING BASED INTRUDER DETECTION USING RASPBERRY PI
IJTRET-International Journal of Trendy Research in Engineering and Technology
 
Anaconda Python KNIME & Orange Installation
Anaconda Python KNIME & Orange InstallationAnaconda Python KNIME & Orange Installation
Anaconda Python KNIME & Orange Installation
Girinath Pillai
 
Ijaems apr-2016-17 Raspberry PI Based Artificial Vision Assisting System for ...
Ijaems apr-2016-17 Raspberry PI Based Artificial Vision Assisting System for ...Ijaems apr-2016-17 Raspberry PI Based Artificial Vision Assisting System for ...
Ijaems apr-2016-17 Raspberry PI Based Artificial Vision Assisting System for ...
INFOGAIN PUBLICATION
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth Pilli
 
Parallel universe-issue-29
Parallel universe-issue-29Parallel universe-issue-29
Parallel universe-issue-29
DESMOND YUEN
 
IRJET-Raspberry Pi Based Reader for Blind People
IRJET-Raspberry Pi Based Reader for Blind PeopleIRJET-Raspberry Pi Based Reader for Blind People
IRJET-Raspberry Pi Based Reader for Blind People
IRJET Journal
 
01 foundations
01 foundations01 foundations
01 foundations
ankit_ppt
 
IRJET- Number Plate Recognition by using Open CV- Python
IRJET-  	  Number Plate Recognition by using Open CV- PythonIRJET-  	  Number Plate Recognition by using Open CV- Python
IRJET- Number Plate Recognition by using Open CV- Python
IRJET Journal
 
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking TechnologyDesign of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
TELKOMNIKA JOURNAL
 

Similar to License Plate Recognition System using Python and OpenCV (20)

Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCVAutomatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV
 
Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV
 
Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...Iirdem design and implementation of finger writing in air by using open cv (c...
Iirdem design and implementation of finger writing in air by using open cv (c...
 
Generating Signatures for cyberattacks.
Generating Signatures for cyberattacks.Generating Signatures for cyberattacks.
Generating Signatures for cyberattacks.
 
IRJET- Portable Camera based Assistive Text and Label Reading for Blind Persons
IRJET- Portable Camera based Assistive Text and Label Reading for Blind PersonsIRJET- Portable Camera based Assistive Text and Label Reading for Blind Persons
IRJET- Portable Camera based Assistive Text and Label Reading for Blind Persons
 
Python Open CV
Python Open CVPython Open CV
Python Open CV
 
Simple calulator using GUI tkinter.pptx
Simple calulator using GUI tkinter.pptxSimple calulator using GUI tkinter.pptx
Simple calulator using GUI tkinter.pptx
 
Resume_Up
Resume_UpResume_Up
Resume_Up
 
Implementation of embedded arm9 platform using qt and open cv for human upper...
Implementation of embedded arm9 platform using qt and open cv for human upper...Implementation of embedded arm9 platform using qt and open cv for human upper...
Implementation of embedded arm9 platform using qt and open cv for human upper...
 
IMAGE PROCESSING BASED INTRUDER DETECTION USING RASPBERRY PI
IMAGE PROCESSING BASED INTRUDER DETECTION USING RASPBERRY PIIMAGE PROCESSING BASED INTRUDER DETECTION USING RASPBERRY PI
IMAGE PROCESSING BASED INTRUDER DETECTION USING RASPBERRY PI
 
Anaconda Python KNIME & Orange Installation
Anaconda Python KNIME & Orange InstallationAnaconda Python KNIME & Orange Installation
Anaconda Python KNIME & Orange Installation
 
Ijaems apr-2016-17 Raspberry PI Based Artificial Vision Assisting System for ...
Ijaems apr-2016-17 Raspberry PI Based Artificial Vision Assisting System for ...Ijaems apr-2016-17 Raspberry PI Based Artificial Vision Assisting System for ...
Ijaems apr-2016-17 Raspberry PI Based Artificial Vision Assisting System for ...
 
Amit Bhandari
Amit BhandariAmit Bhandari
Amit Bhandari
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Parallel universe-issue-29
Parallel universe-issue-29Parallel universe-issue-29
Parallel universe-issue-29
 
IRJET-Raspberry Pi Based Reader for Blind People
IRJET-Raspberry Pi Based Reader for Blind PeopleIRJET-Raspberry Pi Based Reader for Blind People
IRJET-Raspberry Pi Based Reader for Blind People
 
201001162_report
201001162_report201001162_report
201001162_report
 
01 foundations
01 foundations01 foundations
01 foundations
 
IRJET- Number Plate Recognition by using Open CV- Python
IRJET-  	  Number Plate Recognition by using Open CV- PythonIRJET-  	  Number Plate Recognition by using Open CV- Python
IRJET- Number Plate Recognition by using Open CV- Python
 
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking TechnologyDesign of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
Design of LDPC Decoder Based On FPGA in Digital Image Watermarking Technology
 

Recently uploaded

Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
Jheel Barad
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
BhavyaRajput3
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
CarlosHernanMontoyab2
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Po-Chuan Chen
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 

Recently uploaded (20)

Instructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptxInstructions for Submissions thorugh G- Classroom.pptx
Instructions for Submissions thorugh G- Classroom.pptx
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf678020731-Sumas-y-Restas-Para-Colorear.pdf
678020731-Sumas-y-Restas-Para-Colorear.pdf
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 

License Plate Recognition System using Python and OpenCV

  • 1. License Plate Recognition System using Python and OpenCV Submitted By - Vishal Polley (CT20172176247) Abhay Pandey (DT20173820470) Faculty Advisor - Prof. Manik Chandra Mentor - Mr. Deepanshu Kukreja Institute of Engineering and Technology, Lucknow TCS Remote Internship Program 2018 1 Industrial Training(NIT – 753)
  • 2. Contents - • Introduction • Technologies Used • Module's Information • Data Flow Diagram (DFD) • Test Cases • Demonstration and Screenshots • Future Enhancements • Sources 2
  • 3. Introduction • License plate recognition(LPR) is a type of technology, mainly software, that enables computer systems to read automaticallythe registration number (license number) of vehicles from digital pictures. • License Plate Recognition Systems use the concept of optical character recognition to read the characters on a vehicle license plate. In other words, LPR takes the image of a vehicleas the input and outputs the characters written on its licenseplate. 3
  • 4. Steps LPR also called ALPR (Automatic License Plate Recognition)has 3 major stages. 4
  • 5. Cont. • License Plate Detection - This is the first and probably the most important stage of the system. It is at this stage that the position of the license plate is determined. The input at this stage is an image of the vehicle and the output is the license plate. • Character Segmentation - It’s at this stage the characters on the license plate are mapped out and segmentedinto individual images. • Character Recognition - This is where we wrap things up. The characters earlier segmentedare identifiedhere. We have used machine learning for this. 5
  • 6. Technologies Used • OS - Ubuntu 16.04 : Ubuntu is a free and open source operating system and Linux distribution based on Debian . It is the most popular operating system for the cloud .There is python installed in it which makes our work more easier . • Python - 3.5 or Up : Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simplebut effective approach to object- oriented programming. The interpreter and the extensivestandard library are freely available in source or binary form. • IDE - Atom : Atom is a desktop application built using web technologies.It is free and open source text and source code editor for Linux. It is based on Electron ,a framework that enables cross-platform desktop applications using Chromium and Node.js . It is written in Coffee Script and Less. 6
  • 7. Cont. • Database - SQLite3 : SQLite is a relational database management system containedin a C programming library. In contrast to many other database management systems, SQLite is not a client-server database engine. It is embedded into the end program. • Front End - Tkinter : Python offers multiple options for developing GUI (Graphical User Interface). Out of all the GUI methods, Tkinter is most commonly used method. It is a standard Python interface to the Tk GUI toolkit shipped with Python. • Back End - Python : Python is an interpreted high-level programming language. It provides constructs that enable clear programming on both small and large scales . It is meant to be an easily readable language. Writing programs in Python takes less time than in some other languages. 7
  • 8. Module's Information • scikit-learn : scikit-learn is a Python modulefor machine learning built on top of SciPy. It provides a range of supervised and unsupervisedlearning algorithms viaa consistent interface in Python. • scikit-image : For performing Image Processing we have used scikit-image. It’s a Python package for image processing. • Scipy : SciPy is a free and open-source Python library used for scientificcomputing and technical computing. It contains modules for optimization, linear algebra, integration, interpolation,special functions, FFT, signal and image processing, ODE solvers and other tasks common in science and engineering. 8
  • 9. Cont. • OpenCV : OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. • Pillow : Python ImagingLibrary (abbreviatedas PIL ) is a free library for the Python programminglanguage that adds support for opening, manipulating, and saving many different image file formats. • Numpy : NumPy is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays. • Matplotlib : Matplotlib is a plottinglibrary for the Python programming language and its numerical mathematics extension NumPy. It provides an object-oriented API for embedding plots into applications using general-purpose GUI toolkits like Tkinter, wxPython, Qt, or GTK+. 9
  • 12. Demonstration and Screenshots • In the first step, open terminal (Python Bash) and activate the virtualenv (Python virtual environment) by running the followingcommandinside the project folder - source env/bin/activate 12
  • 13. • Now run the python project by executing python script named prediction.py in the terminal (Python Bash) 13
  • 14. • The tkinter image fileinput dialog box will now open. 14
  • 15. • Now open any car image placed inside images folder in the project folder. 15
  • 16. • The next step displays the license plate detection process (plate localization). In this process the original image is convertedto its grayscale version. Now to localize licenseplate from the image a specificthresholdis applied to the grayscale image. The following image shows a comparison between the grayscale image and the threshold image in the matplotlib pyplot. 16
  • 17. • Now after localizing license plate from the original image, the next image shows the process of identifying all the connected regions in the image using the concept of connected component analysis (CCA). It basically helps us group and label connectedregions on the foreground. A pixel is deemed to be connected to another if they both have the same value and are adjacent to each other. 17
  • 18. • In the next step we have mapped out all the characters from the image using character segmentationprocess and CCA. 18
  • 19. • In the final step we have used supervisedmachinelearning to detect the possiblecharacter present on the licenseplate. It makes use of a known dataset (called the training dataset) to make predictions and thus the licenseplate number is detected and displayed inside a new dialog box as output. 19
  • 20. Future Enhancements • The project currently works over still captured images only, and can be modified in future to be implementedto extract license plate information over live video feeds. • Efficiency of the project can be increasedby improving the character segmentation algorithm so it can be applicable to various types of car’s images. • Image Processing speed can be increasedby installing faster processors. • Project currently have a simpleGUI based on tkinter but it can be made much more user friendly and easily navigable by using many other modules. • We are currently using pre buildMachine Learning libraries for recognizing and detecting license plate numbers. Self-written machinelearning codes can further enhance the speed and process for images of all conditions. • More number of character datasets can be trained with the project, so to detect and recognize characters of regional languages and hand written licenseplates. 20
  • 21. Sources • Developing a LicensePlate RecognitionSystem with Machine Learning in Python By Femi Oladeji https://blog.devcenter.co/developing-a-license-plate-recognition-system- with-machine-learning-in-python-787833569ccd • License Plate Recognition Nigerian Vehicles Dataset https://github.com/andela-foladeji/License-Plate-Recognition-Nigerian- vehicles/tree/master/training_data 21