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

  FORUM HardWare.fr
  Programmation
  Divers

  Algorithme d'extraction de courbe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Algorithme d'extraction de courbe

n°2023790
esox_ch
Posté le 20-09-2010 à 10:12:35  profilanswer
 

Bonjour,
 
Je suis en train d'essayer de créer un petit script qui puisse aider à automatiser le boulot qui a, pour le moment, été jeté sur les pauvres stagiaires de chez nous (moi même étant ex-stagiaire, je me sens assez concerné :D).
Donc, nous recevons des graphiques sous forme de PDF, à partir desquels nous devons extraire une certaine courbe qui sera ensuite rentrée (sous forme d'image) dans un programme. Pour le moment, quand les graph arrivaient, on demandait au pauvre stagiaire de sortie paint et de nous sortir la courbe en question, ce qui n'est ni marrant ni intéressant.
 
Voici un example des graphs qu'on obtient, sur le dernier j'ai dessiné en rouge la courbe que nous voudrions obtenir :
 
http://hfr-rehost.net/preview/self/pic/fbaa6f23eb1fe81f500483fb7daa2c1d2008b5b5.png
 
La logique est la suivante :  
- Tout ce qui est orange ne doit pas être pris en compte.
- Tout ce qui est hachuré verticalement, ne doit pas être pris en compte
 
La 1ère condition ne me pose aucun soucis (suffit de remplacer tout ce qui est orange par du blanc). La 2ème par contre, j'ai beaucoup de mal à voir.
J'ai pensé utiliser un algo utilisant la transformée de Fourier, vu que ces droites verticales sont périodiques mais à mon avis je vais avoir beaucoup de mal à m'en sortir vu la forme des graphs.
 
Vous avez une idée?
 
Merci d'avance


Message édité par esox_ch le 21-09-2010 à 10:19:01

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
mood
Publicité
Posté le 20-09-2010 à 10:12:35  profilanswer
 

n°2023843
rengzehn
Posté le 20-09-2010 à 13:46:32  profilanswer
 

si tu veux repcup qu  le jaune, pourquoi tu parts pas du pixel à coté du 0,0 puis tu montes tant que le pixel n'est pas noir, quand tu y es, tu reviens à y=0, tu avances x d'un pixel etc etc..


Message édité par rengzehn le 20-09-2010 à 13:46:52
n°2023879
Joel F
Real men use unique_ptr
Posté le 20-09-2010 à 15:09:11  profilanswer
 

Ca marche pas si tu démarre dans du jaune hachures

n°2023901
rufo
Pas me confondre avec Lycos!
Posté le 20-09-2010 à 15:35:28  profilanswer
 

J'avais pensé à la même technique.  
 
Joel F -> sauf si dans ces graphiques, on est sûr que c'est impossible que ça commence par du jaune hachuré.
 
Par contre, je suis pas sûr que si on rencontre un pixel noir, on doive s'arrêter : en effet, si la partie verte est plus basse que la partie hachurée (ex : graphique 3). Cela dit, je suis pas sûr d'avoir bien compris comment était généré la courbe rouge. Les 3 premiers graphiques ont un lien avec le 4ième :??:


---------------
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°2023939
esox_ch
Posté le 20-09-2010 à 17:44:09  profilanswer
 

Désolé si je n'ai pas été clair.
Non chacun des graphs est indépendant des autres, et en effet la solution de rengzehn ne marchera pas car il faut aussi que j'inclus le vert et que la division entre vert et jaune est noire.

 

Par contre je pourrais éventuellement trouver une manière de supprimer la limite entre vert et jaune (en la mettant jaune par exemple), puis repasser une 2ème fois pour detecter le bord.
Là je fais des tests de différents algorithmes que j'ai élaborés (et qui tentent de détecter la présence ou non de lignes verticales). Mais si vous avez des idées, n'hésitez pas..

 

merci

 

Edit : Même si c'est assez peu probable qu'on démarre dans le jaune hachuré (de part la nature des données et la signification de l'hachurage), ce n'est malheureusement pas interdit, je préférerais donc passer par une méthode qui parte pas de ce postulat


Message édité par esox_ch le 20-09-2010 à 17:45:35

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2024032
snafu8
Posté le 21-09-2010 à 09:02:59  profilanswer
 

Une transformées de Hough de base, puis tu supprimes tous les points qui appartiennent à des lignes verticales.

n°2024033
esox_ch
Posté le 21-09-2010 à 09:06:31  profilanswer
 

Peut-être j'ai mal compris ce que tu entends, mais mon but n'est pas de supprimer les lignes verticales.. Du coup je vois pas à quoi me servirait la transf. de Hough


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2024056
rufo
Pas me confondre avec Lycos!
Posté le 21-09-2010 à 10:14:36  profilanswer
 

au fait, on écrit "Algorithme" (vire le Y, ça me fait mal au yeux) :(


---------------
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°2024059
esox_ch
Posté le 21-09-2010 à 10:19:16  profilanswer
 

Sorry, fixed :jap:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2024579
el muchach​o
Comfortably Numb
Posté le 22-09-2010 à 21:36:54  profilanswer
 

Curieux qu'on vous file des courbes mais pas les données...


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
mood
Publicité
Posté le 22-09-2010 à 21:36:54  profilanswer
 

n°2024580
esox_ch
Posté le 22-09-2010 à 21:40:09  profilanswer
 

ça fait partie d'un document PDF publié par une entitée de l'état. On pourrait leur demander les valeurs (à chaque année) mais ça risquerait de nous faire perdre plus de temps que redessiner la courbe à la main.


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait

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

  Algorithme d'extraction de courbe

 

Sujets relatifs
[RESOLU] [SHELL] extraction et reformattage des données d'un fichierPrograme matlab d'extraction de batis
Extraction chaîne de caractèresunicité d'une courbe de HIlbert en 3D a partir du motif initial
problème d'extraction de données[MatLab] Fitter une courbe d'Hystérésis
Extraction des métadonnées encoder en rdf avec javatracer une courbe
Insertion/Extraction de données formatées d'un fichier texte[DB2] extraction de database reste vide sur DB V7
Plus de sujets relatifs à : Algorithme d'extraction de courbe


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