I am trying to implement a tennis court detector using video recorded from a telephone. I took it from the far corner of the tennis court.
The original image is as follows.

Using the OpenCV Canny Edge Detection and the Hough Lines transform, I can detect lines in my own half, but not the ones behind the network. How can I improve this process and get undetected court lines?
The processed image is as follows.

Updated on 2016-08-25
Thanks guys. I understand that it makes sense to output court lines by setting the detected lines to model lines. I am not going to do a combinatorial search to find the best lines suitable for the models. So I tried to separate the horizontal / vertical lines in order to reduce the computational complexity. I tried RANSAC to find vanishing points (VP) that connect two different groups of strings, but failed due to a detection error (?).
The scatter plot of the line parameters in polar coordinates is shown below. Basically, classify points into two groups: top points that form a horizontal line; lower left dots, which also form a line with a deep slope. Is there any way to do this? Thanks

source share