In this project you are asked to write a program to detect lane lines.
• You may use anything available in the standard OpenCV distribution.
• You cannot use any deep learning neural nets.
• Your program cannot read any file from the hard drive except for the input images.
• You cannot use any special libraries for lane detection. Please contact the TA if you are not
sure if something should be considered “special”.
Input and output
The input is a folder containing images. The program displays each image from the folder, and
marks the detected lane line with a distinct color. Broken or ’dotted’ white lines (the center line
between lanes) should be shown as one long lane line. Lane lines can be continuous or dotted lines.
They can be white, yellow or red (fire lane).
The lane can be straight or curve. The program
should also compute and print the total number of detected lane lines. Please note that we are
counting the number of lane lines and not the number of lanes. For example, double white lines
will be counted as two lane lines. Dotted lines which form a single lane line will be counted as one.
The same lane line should not be counted twice. The images could be of any size. There could be
images without lane line.
The python script proj1.py is provided. The given program only reads and displays images from
a folder. A folder called lanes containing several test images is provided.
• The program should not take more than a minute to detect lane lines from each image.
• We will create a test folder containing test images. The images will not be the same as those
in the provided lane folder, but you may assume that they are similar.
We will run your program on the test folder and count:
A. Total number of correct lane lines detected.
B. Total number of incorrect lane lines detected. For repeated lane lines only one will be
counted as correct and remaining will be counted as incorrect.
C. Total number of missed lane lines.
Then number that determines your grade is
3A − B − C
If you submit everything as required, and on time, the above number is the only thing that will
determine the grade.
Add to your program the functionality of detecting stop signs. A stop sign should be marked with
a blue circle. The ability to detect at least one stop sign from all the input images will earn a
bonus of 5 points.
What you need to submit
1. Python source code of your program. Please name it proj1.py.
2. Documentation that explains your approach and sample results.
These items should be put in a zip file named with your netid and submitted on elearning. For
example, if your netid is xyz1234 you should submit a zip file named xyz1234.zip.