2017-09-19 4 views
0

Je n'ai aucune expérience avec les images. Je dois détecter un objet simple dans une image statique. Par exemple, j'ai l'image comme:OpenCV C# - Détection d'un objet simple en image statique

Source

Je veux détecter les contours et enlever arrière-plan. Juste pour les comparer. Quelque chose comme ça.

Detected Object

Do u ont des solutions de ce problème? Les images ont souvent des arrière-plans blancs.

Je viens de penser à détecter les bords, et de prendre tout ce qu'ils contiennent.

+1

L'objet simple est un cercle ou un carré blanc sur fond noir. Mais pas ça. Vous pouvez essayer d'extraire des arêtes, mais vous obtiendrez également des ombres et une ligne horizontale en arrière-plan. Et ces bords sont plus forts que les bords de votre objet. –

+0

J'ai pensé à convertir l'image en HSV et changer les valeurs H, S et V pour obtenir le contour de l'objet. Ce comparateur ne doit pas être tellement précis. Je vais obtenir des scores et définir des gammes. –

+0

Il suffit de faire le seuil adaptatif, sobelx et la dilatation dans l'ordre sur l'image. Vous allez segmenter la chaussure. Ensuite, la réparation d'une boîte ne devrait pas être un problème. –

Répondre

1

Pour segmenter la cordonnerie

  • Seuil Anadptive pour supprimer l'arrière-plan de changement en douceur.
  • Sobelx, qui supprime la ligne de fond apparent, ce que je suppose est commun pour les images de cette configuration.
  • dilater, opération de fermeture pour séparer la chaussure.
  • Trouvez les contours, la boîte de délimitation, etc. selon votre choix.

enter image description here

Faites un seuil supplémentaire si vous souhaitez supprimer l'ombre au fond.

+0

C'est ce que je voulais. Quand j'aurai le contour, je soustrais de l'image originale, mon produit pour créer l'histogramme à comparer;) Grand merci! :) –