Active9 months ago
I have a web site that allows users to upload images of cars and I would like to put a privacy filter in place to detect registration plates on the vehicle and blur them.
API, SDK, application programming interface, software development kit, license plate recognition software, license plate recognition SDK, license plate recognition toolkit, license plate recognition source code, recognise letters, read plate text, software development kit, LPR software library, ANPR software library, software developers kit, editable license number text, image recognition. But this can be applied to any type of motor vehicle. A typical example of an Indian license plate (for car) is shown in the figure 1 with the significance of each character (1. State Co de, 2. District Code, 3.Type of Vehicle (car, two wheeler, commercial etc.) 4. Actual Registration Number).
The blurring is not a problem but is there a library or component (open source preferred) that will help with finding a licence within a photo?
Caveats;
- I know nothing is perfect and image recognition of this type will provide false positive and negatives.
- I appreciate that we could ask the user to select the area to blur and we will do this as well, but the question is specifically about finding that data programmatically; so answers such as 'get a person to check every image' is not helpful.
- This software method is called 'Automatic Number Plate Recognition' in the UK but I cannot see any implementations of it as libraries.
- Any language is great although .Net is preferred.
50022 gold badges1212 silver badges2626 bronze badges
Ryan O'NeillRyan O'Neill3,38244 gold badges4141 silver badges5959 bronze badges
closed as too broad by Samuel Liew♦Nov 27 '18 at 2:17
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
12 Answers
I coded a C# version based on JAVA ANPR, but I changed the awt library functions with OpenCV.You can check it at http://anprmx.codeplex.com
Jivan MirandaJivan Miranda
EDIT: I wrote a Python script for this.
As your objective is blurring (for privacy protection), you basically need a high recall detector as a first step. Here's how to go about doing this. The included code hints use OpenCV with Python.
- Convert to Grayscale.
- Apply Gaussian Blur.
Let the input image be the following.
- Apply Sobel Filter to detect vertical edges.
- Threshold the resultant image using strict threshold or OTSU's binarization.
- Apply a Morphological Closing operation using suitable structuring element. (I used 16x4 as structuring element)
Resultant Image after Step 5.
- Find external contours of this image.
- For each contour, find the
minAreaRect()
bounding it. - Select rectangles based on aspect ratio, minimum and maximum area, and angle with the horizontal. (I used 2.2 <= Aspect Ratio <= 8, 500 <= Area <=15000, and angle <= 45 degrees)
All
minAreaRect()
s are shown in orange and the one which satisfies our criteria is in green. - There may be false positives after this step, to filter it, use edge density. Edge Density is defined as the number of white pixels/total number of pixels in a rectangle. Set a threshold for edge density. (I used 0.5)
- Blur the detected regions.
You can apply other filters you deem suitable to increase recall and precision. The detection can also be trained using HOG+SVM to increase precision.
Abdul FatirAbdul Fatir4,27133 gold badges1818 silver badges4646 bronze badges
There is a new, open source library on GitHub that does ANPR for US and European plates. It looks pretty accurate and it should do exactly what you need (recognize the plate regions). Here is the GitHub project:https://github.com/openalpr/openalpr
Derrick JohnsonDerrick Johnson
I came across this one that is written in java javaANPR, I am looking for a c# library as well.
I would like a system where I can point a video camera at some sailing boats, all of which have large, identifiable numbers on them, and have it identify the boats and send a tweet when they sail past a video camera.
Bruce McLeodBruce McLeod
I have done some googling about this a couple of months ago. There are quite a few papers about this topic, but I never found any concrete open-source implementation. There are a lot of commercial implementations though, but none of them with a price quote, so they're probably pretty expensive.
Mauricio SchefferMauricio Scheffer88.2k1818 gold badges180180 silver badges269269 bronze badges
try this Simple Automatic Number Plate Recognition System
Open source and written with C#
Birol KuyumcuBirol Kuyumcu
Have a look at Java ANPR. Free license plate recognition...
Ralph WegnerRalph Wegner
Yes I use gocr at http://jocr.sourceforge.net/ its a commandline application which you could execute from your application. I use it in a couple of my applications.
keyokekeyoke
High performance ANPR Library - http://www.dtksoft.com/dtkanpr.php. This is commercial, but they provide trial key.
codegurucodeguru
http://licenseplate.sourceforge.net Python (I have not tested it)
SomatikSomatik
It maybe work looking at Character recoqnition software as there are many libraries out there that perform the same thing. I reading an image and storing it. Micrsoft office is able to read tiff files and return alphanumerics
MatthewMatthew
The blurring is not a problem but is there a library or component (open source preferred) that will help with finding a licence within a photo?
Ans: The CARMEN FreeFlow ANPR Software engine (Commerical)
abmvabmv4,3201313 gold badges5454 silver badges9797 bronze badges
Not the answer you're looking for? Browse other questions tagged imageocrcomputer-visionanpr or ask your own question.
ABSTRACT This project presents Automatic Number Plate extraction, character segmentation and recognition for Indian vehicles. In India, number plate models are not followed strictly. Characters on plate are in different Indian languages, as well as in English. Due to variations in the representation of number plates, vehicle number plate extraction, character segmentation and recognition are crucial. We present the number plate extraction, character segmentation and recognition work, with english characters. Number plate extraction is done using Sobel filter, morphological operations and connected component analysis. Character segmentation is done by using connected component and vertical projection analysis. Automatic Number Plate Recognition (ANPR) system is an important technique, used in Intelligent Transportation System. ANPR is an advanced machine vision technology used to identify vehicles by their number plates without direct human intervention. It is an important area of research due to its many applications. The development of Intelligent Transportation System provides the data of vehicle numbers which can be used in follow up, analyses
and monitoring. ANPR is important in the area of traffic problems, highway toll collection, borders and custom security, premises where high security is needed, like Parliament, Legislative Assembly, and so on. The complexity of automatic number plate recognition work varies throughout the world. For the standard number plate, ANPR system is easier to read and recognize. In India this task becomes much difficult due to variation in plate model.
Automatic License Plate Recognition
PROJECT OUTPUT
PROJECT VIDEO
License Plate Recognition Open Source
Contact:
Mobile: +91-7276355704
Email: [email protected]