ellipse de détection dans opencv python
Mon image est ici:
je suis à la recherche d'une meilleure solution ou un algorithme pour détecter l'ellipse partie (plat) dans cette photo et d'un masque dans une autre photo dans Opencv.
pourriez-vous me donner quelques conseils ou une solution.
et mon code est :
circles = cv2.HoughCircles(img, cv2.HOUGH_GRADIENT, 1.2, 1, param1=128, minRadius=200, maxRadius=600)
# draw detected circles on image
circles = circles.tolist()
for cir in circles:
for x, y, r in cir:
x, y, r = int(x), int(y), int(r)
cv2.circle(img, (x, y), r, (0, 255, 0), 4)
# show the output image
cv2.imshow("output", cv2.resize(img, (500, 500)))
- Vous n'avez pas besoin de l'ellipse de détection d'ici (d'ailleurs, ne sont pas disponibles dans OpenCV). Vous êtes probablement bon avec un simple seuil lumineux valeurs, et de garder la plus grande composante connexe. Aussi, s'il vous plaît montrer ce que vous avez essayé
- Une simple couleur de segmentation peuvent fonctionner aussi bien.
- Je suis l'ajout de la partie spéciale du code, qui est relié à ma question, souhaitez-vous prendre un coup d'oeil il plz.
Vous devez vous connecter pour publier un commentaire.
Il existe une alternative dans skimage faite par
Xie, Yonghong, and Qiang Ji
et publié en tant que...Leur Ellipse code de détection est relativement lente, et l'exemple que prend environ 70 secondes, comparativement à un site web revendiquée "28 secondes".
Si vous avez conda ou pip: "nom" installer scikit-image et lui donner un coup de feu...
Leur code peut être trouvé ici ou copier/coller ci-dessous:
APPROCHE 1:
Comme suggéré par Miki, j'ai été en mesure de détecter l'ellipse dans l'image donnée à l'aide de propriétés du contour (en cela, j'ai utilisé le domaine de la propriété).
CODE:
C'est ce que j'ai obtenu:
APPROCHE 2:
Vous pouvez également utiliser l'approche suggérée par vous dans ce cas. Hough détection de l'ellipse/cercle.
Vous devez vous pré-traitement de l'image. J'ai effectué adaptative seuil et obtenu ceci:
Maintenant, vous pouvez effectuer Hough cercle de détection sur cette image.
Espère que c'est pas une bouchée!!
😀