问题
you can get all the details about the problem from this pdf document: www.shaastra.org/2013/media/events/70/Tab/422/Modern_Warfare_ps_v1.pdf
how to recognize a zebra crossing from top view using opencv ?? it is not a straight zebra crossing it has some twists and turns i have some ideas, 1. parallel line detection but the available techniques only works to find straight parallel not the ones that has curve in it. 2. template matching to match a template of back to back white and black stripes but it becomes tedious since i cant find any pattern matching techniques with scaling and rotation.
in fact a idea on any single part of the problem will be so helpful!! it is driving me crazy someone please help!!!! any help is appreciated thanks in advance ....
NOTE: the zebra crossing i am talking about has the inside lines perpendicular to the border lines, just like a normal zebra crossing. only difference is that the path has curves like a river
回答1:
I'd have a look at Haar-like features as a low level descriptor. It is very commonly used in face detection but is a technique with wide applications.
Some of the very common features are sensitive to lines; vertical, horizontal, or diagonal. These should be well suited to detecting zebra crosswalks. Also, depending on your implementation, these feature sets can be scale insensitive which would make your algorithm more robust.
A large number of parallel lines with such contrast (white (or yellow) paint vs pavement) should get you on your way to recognizing zebra crossings. I'm not sure exactly what you mean by 'twists and turns' as zebra crossings, by design, are supposed to be straight. If you provide an image or two of your edge cases, perhaps we can brainstorm with you.
Edit: I also agree strongly with @Algebra's comment. Using a Hough transform, you could get the edges of the lines. A number of parallel lines at regular intervals should be a strong indication of a zebra crossing.
For whichever approach(es) you explore, you will want to use machine learning techniques for pattern recognition to make the final decision on what a zebra crossing looks like. You do not want to hard code things like 'x parallel lines of y width and z length'.
回答2:
Here is a relevant paper:
Detecting and Locating Crosswalks using a Camera Phone
While this is not an opencv implementation it should be a reasonable place to start.
来源:https://stackoverflow.com/questions/14041109/how-to-recognise-a-zebra-crossing-from-top-view-using-opencv