Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1019 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  Compter le nb de polygones dans une image

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Compter le nb de polygones dans une image

n°2465136
rufo
Pas me confondre avec Lycos!
Posté le 29-02-2024 à 16:01:50  profilanswer
 

Bonjour,
J'ai une image en fond noir avec un a plusieurs polygones dessus qui sont tous avec la même couleur. Je voudrais isoler chaque polygone (et donc les compter). Le but final est de mettre les pixels de chaque polygone dans une image vierge (une image par polygone).
Certains polygones peuvent être proches l'un de l'autre. Typiquement, j'ai des cas où j'ai pas une ligne noire horizontale entière entre 2 polygones.
Les polygones ont des formes très complexes et peuvent être concaves ou convexes.
 
Quel serait l'algo le plus simple qui permettrait de faire ce partitionnement. Je suis en train de regarder dans Google mais je trouve pour l'instant surtout du overkill. :/
 
Merci :jap:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
mood
Publicité
Posté le 29-02-2024 à 16:01:50  profilanswer
 

n°2465632
rufo
Pas me confondre avec Lycos!
Posté le 07-03-2024 à 07:59:26  profilanswer
 

Bon, j'avance, pas mal. Je suis parti sur un algo de type "coloriage".  
 
1) Je choisis un point de départ (le premier que je trouve en partant du haut de mon image et qui est dans la couleur unie de mon image). Je le mets dans la liste des points à traiter.
 
2) Je dépile le premier point de la liste des points à traiter et le colorie dans la couleur choisie pour le premier polygone (parmi une palette) différente des couleurs qu'on pourrait trouver sur les images à traiter.
 
3) Je cherche ses voisins connexes dans un rayon de n pixels (ex :2). C'est pour éviter les cas où j'ai 2-3 points isolés très proche d'un gros polygone et que ça soit détecté comme n nouveau polygone mais tout petit.
Pour chacun de ces voisins, je regarde s'il est colorié dans la couleur initiale de l'image (qui est en une seule couleur). Si oui, je vérifie s'il n'est pas déjà dans ma liste des points à traiter. Si ce n'est pas le cas, je l'ajoute.
 
Je boucle sur les étapes 2 et 3 tant que mon tableau des points à traiter n'est pas vide.
Quand je sors de cette boucle, je passe à la couleur suivante pour un autre polygone.
 
Je retourne à l'étape 1 et boucle tant que je trouve un pixel dans la couleur de l'image à traiter.
 
Petit souci : j'ai l'impression que dans certains cas, je boucle indéfiniment. Faut que je vérifie ça, et si c'est le cas, pourquoi. Là, comme ça, je vois rien qui pourrait expliquer une boucle infinie :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2465669
rufo
Pas me confondre avec Lycos!
Posté le 07-03-2024 à 17:20:17  profilanswer
 

Bon, en fait non, ça boucle pas à l'infini, c'est juste long :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2465894
rufo
Pas me confondre avec Lycos!
Posté le 13-03-2024 à 13:19:00  profilanswer
 

Le coloriage de chaque polygone via le calcul des voisins, ça marche bien. Par contre, pour certains gros polygones, c'est long :/
 
Si vous connaissez d'autres algos plus efficaces, je suis preneur.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2465917
spark
Luc ?
Posté le 13-03-2024 à 17:36:09  profilanswer
 

on aimerait un peu de code, parce que là c'est pas très simple à imaginer :o


---------------
Un cycle complet sera une série de 100.
n°2465923
rufo
Pas me confondre avec Lycos!
Posté le 13-03-2024 à 18:24:32  profilanswer
 

Sur une image en fond noir et d'une seule couleur (appelée couleur fournie en entrée), je cherche le premier pixel de couleur fournie en entrée en partant du haut et de gauche à droite.
 
Une fois trouvé, je récupère ses pixels voisins en ne gardant que ceux de couleur.
Je les mets dans une liste de pixels à traiter.
Je dépile le premier pixel de ma liste de pixels à traiter.
Je le colorie d'une couleur associée à mon polygone en cours d'identification.
 
Quand j'ai dépilé tous les pixels de ma liste à traiter, c'est que j'ai terminé de traiter mon polygone.
 
Du coup, je définis une nouvelle couleur en prévision du traitement du polygone suivant sur l'image (s'il y en a un). Je recommence à chercher le premier pixel de couleur fournie en entrée en partant du haut et de gauche à droite.
 
Je m'arrête quand je n'ai plus trouvé de pixel ayant la couleur fournie en entrée.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  Compter le nb de polygones dans une image

 

Sujets relatifs
[Résolu] Additionner les couleurs de polygones superposésRassembler plusieurs image en une seule
Image=point d’interrogation sur fond bleu.Afficher une image selon la date et avec lien hyper texte
[Résolu] Suivre un contour dans une imageRecherche et Remplacement devant une image
Extraire image lien avec Beautiful SoupPourquoi j'ai cette erreur lorsque je met une image dans un bouton ou
Comment charger une image ?Image décorative qui pixelise avec mise a l'échelle de windows
Plus de sujets relatifs à : Compter le nb de polygones dans une image


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR