Comment enlever les petits objets connectés à l'aide d'OpenCV

J'utilise OpenCV et Python, et je veux enlever le petit objet connecté de mon image.

J'ai le texte suivant de l'image binaire en entrée:

Comment enlever les petits objets connectés à l'aide d'OpenCV

L'image est le résultat de ce code:

dilation = cv2.dilate(dst,kernel,iterations = 2)
erosion = cv2.erode(dilation,kernel,iterations = 3)

Je veux supprimer les objets mis en surbrillance en rouge:

Comment enlever les petits objets connectés à l'aide d'OpenCV

Comment puis-je réaliser cela à l'aide d'OpenCV?

  • Quels critères avez-vous utilisés pour déterminer les objets à mettre en avant? Pourquoi ces 7 et tous les autres de la même taille ou de petits objets?
  • nn je veux enlever tous les petits objets et ce 7 sa juste exemple pour l'objet que je veux le supprimer
  • Je veux utiliser la surface de l'objet en tant que critères
  • Qu'en est findContours, filtre les contours par contourArea, et drawContours sur les petits et les remplir avec des noirs.
  • je connais cette méthode mais j'ai besoin d'utiliser une méthode sans contour 🙁
  • Alors pourquoi ne pas vous mentionner que fait (et de préciser que l'exigence) que dans votre question?
  • mais ma question sur les objets connectés et aussi avec abinary image C'est pas suffisant?

InformationsquelleAutor | 2017-03-14