Another approach might be to perform the Radon / Hough transform first, then detect the points. e.g. `R = radon(I,0:179)` in MATLAB. It gives this image: ![enter image description here][1] The x-axis is angle (0-180 deg) and the y-axis is distance from the centre. Each local minimum represents a line. It shows 6 lines ~75 degrees, 2 around 90 degrees, and 3 around 170 degrees. (This is MATLAB angles which go clockwise from x-axis because the y-coords are upside down) [1]: https://i.sstatic.net/rbNow.png Edit: Forgot Radon and Hough transforms were roughly the same.