I am working on lane detection system and I would like some suggestions from you as to how to detect lanes from a filtered image which I got after performing certain operations. Firstly, I should mention a few things:

1. The lane detection would be in a real road environment unlike [here](https://stackoverflow.com/questions/4248670/lane-detection-in-an-artificial-environment).
2. As of now, I am running it in real-time (O(n)) to be precise, which I would like to maintain.

The following image shows the original image and my filtered image.

![enter image description here](https://i.stack.imgur.com/EmR74.jpg)

**As you can see, there are false positives which I want to remove and that is my main problem**. Now, these are the few approaches I have thought of:

1. Check the intensity on the left and right hand side for desired areas. It should be high for desired area and low on both sides.
\*\*Problem: I am finding it difficult to define 'high' and 'low' since the method has to be independent of time of the day.
2. One approach I thought was to check shapes but I can't think of any algorithm since those are not rectangles, those are essentially distorted parallelograms(?).

One more, I have seen people generate lines on these type of images using hough, [this](https://stackoverflow.com/questions/4248670/lane-detection-in-an-artificial-environment) same question does that. If I run hough, I am not getting lines. Is the intensity of the image a problem or should I run Hough on binary mask image? I am currently doing this with MATLAB but I will be finally implementing with OpenCV to keep it real-time.