License Plate Recognition - Determining Color Range For Pixel Comparison

5k views Asked by At

Well after much work regarding vehicle plate detection, I've decided that simply finding a 'pattern' of yellow pixels within an image would be a sufficient method of finding the location of a license plate within an image. Currently I use various graphic filters and detect white pixel patterns, however this is proving to be more and more problematic.

Now for the question, I'm aware that the 'yellow' are a license plate is based on numerous factors such as brightness, environment. alt text alt text

Insight of this I would need a range to compare to, for example:

if(FindIfYellow(GetPixel(x, y)))

However I don't know if to use RGB values, specifically individual RGB values to determine if the color is a shade of yellow. Finally is there a website or information of some sort defining these ranges? I know

R: 255 G: 255 B: 0

Is the purest of yellow, but in terms of range I have no idea. Anyway hopefully it's a resonable idea, and the reason I post is to ensure I haven't overlook something, as I have been doing frequently :).

3

There are 3 answers

1
Dr. belisarius On BEST ANSWER

Using CMYK channel separation - Let's OCR the Plate!

enter image description here

Repeating the process with the other image

enter image description here

3
user541686 On

Is gold yellow? Is yellowish-orange yellow? How about yellow-green?

(My point being that this is a fuzzy definition for a human, let alone for a computer... just decide on a range that looks yellow to you and stick with it.)

0
Derrick Johnson On

Check out OpenALPR (http://www.openalpr.com). It takes a different approach for plate localization -- it uses trained LBP patterns. You may want to use this library in addition to your color-based detection for even greater accuracy. For example, OpenALPR can detect potential plate regions, and then simply verify that a certain percentage of the area is yellow-ish.