Détecter cercle comme des formes d'opencv
tout le monde je suis assez nouveau dans OpenCV et de la vision par ordinateur et je suis coincé à ce problème , qui peut sembler assez banale mais pardonnez mon noobness 🙂
Je suis en train d'essayer de détecter les Armatures à partir d'une image transversale.
je suis en utilisant ce code :
import cv2
import cv2.cv as cv
import numpy as np
img = cv2.imread('test/t2.jpg',0)
img = cv2.equalizeHist(img)
cimg = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
circles = cv2.HoughCircles(img,cv.CV_HOUGH_GRADIENT,1,10,param1=50,param2=30,minRadius=0,maxRadius=25)
circles = np.uint16(np.around(circles))
for i in circles[0,:]:
# draw the outer circle
cv2.circle(cimg,(i[0],i[1]),i[2],(0,255,0),2)
cv2.imshow('detected circles',cimg)
cv2.waitKey(0)
cv2.destroyAllWindows()
C'est le résultat que j'obtiens actuellement, ce qui n'est pas bon :
Je suis à la recherche pour obtenir des conseils sur la façon de procéder avec ce problème et comment faire pour en savoir plus sur le CV que je suis vraiment intéressé!
Merci une tonne!
Quel est votre problème ?
Oh désolé, j'ai oublié de mentionner la partie principale, je ne suis pas en mesure de détecter ces correctement , c'est le résultat que j'obtiens résultat
Oh désolé, j'ai oublié de mentionner la partie principale, je ne suis pas en mesure de détecter ces correctement , c'est le résultat que j'obtiens résultat
OriginalL'auteur Harpreet Boparai | 2016-02-20
Vous devez vous connecter pour publier un commentaire.
HoughCircles
n'est pas une mesure suffisante pour détecter cercle face à la complexité de l'image comme votre cas.A déjà eu quelques discussions sur ce sujet. Vous pouvez consulter ces post avec la qualité des réponses acceptées
Façon Standard:
Cercle rempli de détection à l'aide de CV2 en Python?
Quels sont les moyens rapides pour détecter cercle dans une image?
Le bruit de l'image:
https://dsp.stackexchange.com/questions/5930/find-circle-in-noisy-data
Une autre méthode:
Gradient De La Paire De Vecteurs
L'Apprentissage Des Automates
OriginalL'auteur Nik
Ces résultats peuvent être légèrement améliorée avec le réglage des paramètres de mieux en mieux sur cette ligne:
Par exemple, vous pouvez réduire le maxRadius légèrement et d'augmenter la sensibilité.
Dans mon expérience, cependant, vous ne serez pas obtenir un bon résultat sur une image comme celle-ci. Il est très complexe, les cercles sont irréguliers et à des angles différents. Si votre objectif est de la pratique, c'est sûr que, de jouer avec les paramètres et d'essayer différentes méthodes pour l'améliorer. Je ne vois pas beaucoup de pratique à l'utilisation.
OriginalL'auteur user3654766
Vous pouvez détecter les caractéristiques ici, en utilisant le module trackpy. Vous avez besoin de varier les tailles de fonction avec un nombre impair et voir lequel correspond le mieux. Vous pouvez également besoin de faire quelques pré-traitement comme, la conversion de l'image en niveaux de gris.
OriginalL'auteur Harshfi6