Bonjour à tous et à toutes.
Je suis confrontée à un problème dont voici grosso modo l'énoncé :
Ce que j'ai en entrée est une image. Ce que vous voyez sur le graphique en attachment est le contour de l'objet de cette image (un peu découpé).
Ce que je voudrais c'est calculer deux fonctions : une fonction représentant "approximativement" la courbe représentée par "les deux premiers segments de droites" (ce ne sont pas à proprement parler des segments de droite, ce sont des amas de points (avec la même abscisse souvent) qui, de loin, y ressemblent !), en partant du haut de l'image, et une seconde fonction, faisant la même chose mais pour le "segment de droite" situé tout en bas de l'image. Après, je comparerai ces fonctions.
Ce graphique est composé des points représentants tous les pixels non nuls de mon objet (le contour que j'ai +/- bien extrait grâce à toute une série de filtres et d'opérations morphologiques).
Ma question est la suivante : Comment obtenir ces deux fonctions ?
Je pensais au départ, appliquer un algorithme de clustering (type kmean, k = 2) afin de splitter ce graphique en deux (les deux "segments de droite" du haut et le "segment de droite" tout en bas) et d'appliquer, sur chacun des clusters obtenus, une fonction d'approximation de fonctions pour obtenir au final deux courbes fittant au mieux les "segments de droite" situés dans chaque cluster.
Cependant, j'ai utilisé la fonction kmean et j'obtiens un graphique divisé en 2 verticalement, tel le drapeau français...
Je ne pense pas que mon approche soit la bonne...
Comment feriez-vous à ma place ?
Merci d'avance pour votre aide.
Partager