-
traitement image
bonjour
Je suis sur un projet concernant la mise en place d'une étude d'une cartographie. C'est à dire que je dois pouvoir traiter une image en détectant des zones particulières par leurs couleurs.
Je me suis documenté et j'ai trouvé que l'on pouvait utliser kmeans ou par une dct ou encore en détectant les contours par les champs de Markov et Gibbs.
Le problème, c'est que je ne sais pas où se trouve exactement ces zones sur l'image ni la dimension de celle-ci.
De plus j'ai un nombre définis de zones à chercher suivant l'image reçue et détecter si toutes les zones sont présentes, pour cela je pense pouvoir passer par un mode de quadrillage de l'image enfin de séparer les endroits à chercher pour une zone.
J' aurais besoin de vos conseil enfin de choisir la bonne voie à prendre en concevant ce projet sous Delphi.
-
Salut!
Tout d'abord, les cartes dont tu parles sont-elles des images satellites, avion, etc.. ?
As-tu à disposition plusieurs modes (infrarouge, spectre visible, ultraviolet....) ou une seule image ?
Normalement les techniques K-means et Markov (je connais mal Gibbs) séparent ta carte en plusieurs classes de pixels (avec Markov c'est toi qui définis tes classes) sans que tu aies recours à des partitionnements de l'espace.
Je pense que Markov est vraiment tout indiqué pour ton problème: tu lui fais apprendre tes différentes classes (en sélectionnant plusieurs fois des zones pour chaque classe: exemple avec l'eau : tu cliques dans les lacs, rivières, piscines, etc...), et ensuite ça devient très robuste.
C'est très utilisé en télédétection, ce qui est si je ne m'abuse ton cas.
A+
-
En fait l'image dont je parle est une image d'un circuit embarqué et je dois détecter les différents composants sur celui-ci en sachant que ces composants sont distinguables par des couleurs.
Je ne dispose que de l'image. Pour les couleurs j'ai une base de donée qui a les différentes couleurs possibles de trouver sur l'image en fonction des composants.
Par contre j'ai trouvé une autre méthode celle de Potts qui ressemble à celle de Markov. De toutes manière ces méthodes utilisent la connectivité entre pixels par 4 ou par 8.
-
Si tu as des couleurs bien précises, pourquoi ne tout simplement pas faire des filtres pour chacune de tes couleurs ?
Comme ça tu obtiens des images binaires pour chaque filtrage avec seulement représentées dessus les couleurs que tu as sélectionné !
C'est du coup vachement (mais alors Vachement) plus rapide que toute autre méthode...
Enfin ça marche seulement si tu as pas trop de bruit et surtout que tu arrives à bien définir tes couleurs.
-
Cette étape je voulais la faire après la détection de tous mes composants car on suppose que certains composants ont perdus leur pastilles( en fait la couleur des composants se fait par des pastilles) donc il faut que je détecte cet erreur éventuelle sinon pour le système de filtrage de couleurs prédéfini cela m'arrange pas mal.
Mais comme tous les composants sont les meme je pense passer par une classe que j'établierais pour pouvoir les détecter un par un comme tu me l'as expliqué .
Merci pour tout :)