Algorithme pour extraire des sous-images

LewisK
Modifié (January 2022) dans Informatique théorique
Bonjour à tous
Je suis actuellement sur un petit projet où je travaille sur une image avec plusieurs logos d'entreprise sur un fond blanc, et dont je cherche d'extraire des logos individuels.
Mathématiquement, on peut voir mon image initiale (disons de $1000 \times 1000$ pixels) comme une matrice de $1000 \times 1000$ valeurs comprises entre $0$ et $255$ (on suppose pour simplifier qu'elle est en noir et blanc), où les cases blanches (qui sont largement majoritaires, parce qu'on a un bon espace entre les logos) valent $255$.
Je cherche un algorithme permettant de me sortir des sous-images correspondant aux logos, et idéalement un découpage sans recouvrement (c'est-à-dire pas de doublons), mais pas de manière indispensable.

Pour l'instant, lorsque je pars d'un point coloré d'un certain logo, j'arrive vaguement à élargir à la "bonne taille" pour avoir tout le logo et rien que ce logo. Ce que j'ai produit c'est un algorithme stochastique où je pars d'un point coloré et où je cherche la sous-image rectangulaire autour de ce point qui est le plus "vide" possible (c'est-à-dire que j'essaie aléatoirement quelques centaines de rectangles de tailles diverses autour de mon point et je regarde celui qui a la part de valeurs correspondant à du blanc la plus grande).
Si quelqu'un a des pistes de choses plus rapides, ou toute autre idée pour procéder je suis preneur, c'est un sujet totalement mathématique !
Je joins une image pour se faire une idée (dans l'exemple on peut découper sous forme de "tableau" régulier, mais sur ma "vraie image" on a plusieurs milliers de logos, et le pavage n'est pas régulier !).

Réponses

Connectez-vous ou Inscrivez-vous pour répondre.