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:
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
Vous devez vous connecter pour publier un commentaire.
Sanj,
une modification de code qui détecte les non pas un mais de nombreux Hough lignes est indiqué ci-dessous. J'ai amélioré la façon de comment faire une boucle à travers les lignes de la matrice de sorte que vous obtenez beaucoup plus de segments de ligne.
Vous pouvez régler les paramètres, cependant, je pense que le contour de l'approche dans votre autre post sera probablement la meilleure approche pour résoudre votre tâche, comme indiqué là:
Comment détecter les lignes horizontales de l'image et d'obtenir ses coordonnées y à l'aide de python et opencv?
OriginalL'auteur tfv
J'ai essayé d'extraire les lignes horizontales et verticales dans l'image.Nous pouvons donc utiliser les opérations morphologiques pour cela.Ça va être la meilleure chose pour ce problème.L'essayer.
OriginalL'auteur Vimukthi Gunasekara