SlideShare a Scribd company logo
1 of 22
Download to read offline
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

Vehicle registration plate recognition system
Vehicle registration plate recognition systemVehicle registration plate recognition system
Vehicle registration plate recognition systemshailendra92
 
automatic number plate recognition
automatic number plate recognitionautomatic number plate recognition
automatic number plate recognitionSairam Taduvai
 
Automatic number plate recognition
Automatic number plate recognitionAutomatic number plate recognition
Automatic number plate recognitionSaifullah Malik
 
Automatic number plate recognition (anpr)
Automatic number plate recognition (anpr)Automatic number plate recognition (anpr)
Automatic number plate recognition (anpr)AbhishekChoudhary464889
 
Vehicle Number Plate Recognition System
Vehicle Number Plate Recognition SystemVehicle Number Plate Recognition System
Vehicle Number Plate Recognition Systemprashantdahake
 
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
 
Vehicle Detection using Camera
Vehicle Detection using CameraVehicle Detection using Camera
Vehicle Detection using CameraShubham Agrahari
 
Computer Vision for Traffic Sign Recognition
Computer Vision for Traffic Sign RecognitionComputer Vision for Traffic Sign Recognition
Computer Vision for Traffic Sign Recognitionthevijayps
 
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 APPAditya Mishra
 
Automated Driver Fatigue Detection
Automated Driver Fatigue DetectionAutomated Driver Fatigue Detection
Automated Driver Fatigue DetectionArman Hossain
 
License plate recognition
License plate recognitionLicense plate recognition
License plate recognitionslmnsvn
 
car plate recognition
car plate recognitioncar plate recognition
car plate recognitionCruise Chen
 
Attendance Management System using Face Recognition
Attendance Management System using Face RecognitionAttendance Management System using Face Recognition
Attendance Management System using Face RecognitionNanditaDutta4
 
Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCVAutomatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCVEditor IJCATR
 
MATLAB Based Vehicle Number Plate Identification System using OCR
MATLAB Based Vehicle Number Plate Identification System using OCRMATLAB Based Vehicle Number Plate Identification System using OCR
MATLAB Based Vehicle Number Plate Identification System using OCRGhanshyam Dusane
 
A Review Paper on Automatic Number Plate Recognition (ANPR) System
A Review Paper on Automatic Number Plate Recognition (ANPR) SystemA Review Paper on Automatic Number Plate Recognition (ANPR) System
A Review Paper on Automatic Number Plate Recognition (ANPR) SystemAM Publications
 

What's hot (20)

Vehicle registration plate recognition system
Vehicle registration plate recognition systemVehicle registration plate recognition system
Vehicle registration plate recognition system
 
automatic number plate recognition
automatic number plate recognitionautomatic number plate recognition
automatic number plate recognition
 
Automatic number plate recognition
Automatic number plate recognitionAutomatic number plate recognition
Automatic number 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)
 
Vehicle Number Plate Recognition System
Vehicle Number Plate Recognition SystemVehicle Number Plate Recognition System
Vehicle Number Plate Recognition System
 
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
 
Lpr2003
Lpr2003Lpr2003
Lpr2003
 
Vehicle Detection using Camera
Vehicle Detection using CameraVehicle Detection using Camera
Vehicle Detection using Camera
 
Computer Vision for Traffic Sign Recognition
Computer Vision for Traffic Sign RecognitionComputer Vision for Traffic Sign Recognition
Computer Vision for Traffic Sign Recognition
 
ANPR
ANPRANPR
ANPR
 
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
 
Automated Driver Fatigue Detection
Automated Driver Fatigue DetectionAutomated Driver Fatigue Detection
Automated Driver Fatigue Detection
 
License plate recognition
License plate recognitionLicense plate recognition
License plate recognition
 
car plate recognition
car plate recognitioncar plate recognition
car plate recognition
 
Attendance Management System using Face Recognition
Attendance Management System using Face RecognitionAttendance Management System using Face Recognition
Attendance Management System using Face Recognition
 
Seminar on anpr 1
Seminar on anpr 1Seminar on anpr 1
Seminar on anpr 1
 
Automatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCVAutomatic License Plate Recognition using OpenCV
Automatic License Plate Recognition using OpenCV
 
MATLAB Based Vehicle Number Plate Identification System using OCR
MATLAB Based Vehicle Number Plate Identification System using OCRMATLAB Based Vehicle Number Plate Identification System using OCR
MATLAB Based Vehicle Number Plate Identification System using OCR
 
A Review Paper on Automatic Number Plate Recognition (ANPR) System
A Review Paper on Automatic Number Plate Recognition (ANPR) SystemA Review Paper on Automatic Number Plate Recognition (ANPR) System
A Review Paper on Automatic Number Plate Recognition (ANPR) System
 

Similar to License Plate Recognition System using Python and 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 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 PersonsIRJET Journal
 
Simple calulator using GUI tkinter.pptx
Simple calulator using GUI tkinter.pptxSimple calulator using GUI tkinter.pptx
Simple calulator using GUI tkinter.pptxYashSharma357857
 
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
 
Anaconda Python KNIME & Orange Installation
Anaconda Python KNIME & Orange InstallationAnaconda Python KNIME & Orange Installation
Anaconda Python KNIME & Orange InstallationGirinath 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-29DESMOND 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 PeopleIRJET Journal
 
01 foundations
01 foundations01 foundations
01 foundationsankit_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- PythonIRJET 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 TechnologyTELKOMNIKA JOURNAL
 
ch4-Software is Everywhere
ch4-Software is Everywherech4-Software is Everywhere
ch4-Software is Everywheressuser06ea42
 

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

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
 
ch4-Software is Everywhere
ch4-Software is Everywherech4-Software is Everywhere
ch4-Software is Everywhere
 

Recently uploaded

Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 

Recently uploaded (20)

Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 

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