Comment détecter les lignes avec précision à l'aide de HoughLines transformer en openCV python?

Je suis un newbie dans les deux python et opencv et je suis confronté à un problème dans la détection des lignes dans l'image suivante, qui a des bandes de lignes noires posées sur le sol:

Comment détecter les lignes avec précision à l'aide de HoughLines transformer en openCV python?

J'ai utilisé le code suivant:

gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,50,150,apertureSize = 3)
print img.shape[1]
print img.shape
minLineLength = img.shape[1]-1
maxLineGap = 10
lines = cv2.HoughLinesP(edges,1,np.pi/180,100,minLineLength,maxLineGap)
for x1,y1,x2,y2 in lines[0]:
    cv2.line(img,(x1,y1),(x2,y2),(0,255,0),2)

mais il est incapable de détecter les lignes avec précision et tire seulement une ligne verte sur la première bande noire du bas qui n'a même pas de couvrir l'ensemble de la ligne,
aussi,
s'il vous plaît suggérer un moyen d'obtenir de l' y cordinates de chaque ligne.

Ces lignes ne sont pas très droites. J'ai trouvé que mon propre code pour la transformation de Hough m'a donné plus de perspicacité que d'utiliser une conserve solution (que cette question semble être sur la compréhension). Voir une simple maison filé Hough transformer exemple par exemple ici: nabinsharma.wordpress.com/2012/12/26/... Si vous visualisez la sortie de la transformer vous-même, vous allez rapidement voir si la qualité des lignes d'entrée joue un rôle (plus large de pointe dans la transformation de l'espace, de moins en moins claires où max se trouve).

OriginalL'auteur Sanj | 2016-03-24