Hough is computationally intensive if you pick the wrong parameters. it’s also difficult to get good results. newbies usually get stuck on it because they think it is useful. that is a trap.
findContours doesn’t cost too much.
please simplify your code. what is the result of HoughLines you get? all that follows in your first post is a distraction.
this is what I get with your picture and code:
array([[[ 6. , 1.67552]],
[[10. , 1.6057 ]]], dtype=float32)
two lines, same rough distance and orientation, okay, so maybe your coefficients to HoughLines need tweaking. have you tried different ones? what parameters?