License Plate Recognition - Determining Color Rang

2019-01-10 20:07发布

问题:

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.

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 :).

回答1:

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

Repeating the process with the other image



回答2:

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.)



回答3:

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.