Moyenne pondérée (lissage carte) : quel language choisir ?

Moyenne pondérée (lissage carte) : quel language choisir ? - Divers - Programmation

Marsh Posté le 25-02-2009 à 18:05:10    

Bonjour à tous,
 
Je me suis inscrit sur HFR pour vous demander un peu d'aide, en effet pour lisser une carte j'utilise la méthode suivante :
 
- Stockage des données utilisées dans un array avec position X/Y (les données sont pas toujours aux mêmes endroits )
- Pour chaque pixel de l'image, calcul de la moyenne pondérée en prenant les données situées dans un rayon de 50px autour du pixel
 
Le soucis de ce système c'est qu'il prend beaucoup de temps à s'exécuter en php cgi, environ 50/60s pour une map de 500/500 avec 80 données.
 
Auriez-vous une méthode pour améliorer cela ou alors connaitriez-vous un language excellent dans ce genre de calculs ?
 
Merci d'avance.
 
Bonne soirée.

Message cité 1 fois
Message édité par Malicote le 25-02-2009 à 18:33:08
Reply

Marsh Posté le 25-02-2009 à 18:05:10   

Reply

Marsh Posté le 25-02-2009 à 19:23:16    

J'aurais tendance à faire ca en C++ avec une librairie genre OpenCV, mais peut être je dis une connerie [:cosmoschtroumpf]


Message édité par Ben_be le 25-02-2009 à 19:23:30

---------------
Putain j'ai rêvé de toi cette nuit !! Alors que jte connais même pas !!-LaL0utre | Ben_be est un roxxeur d'ours d'envergure mondiale-Daaadou |Entre un dessert et Ben_be je choisis Ben_be-Ramasse-miette
Reply

Marsh Posté le 25-02-2009 à 19:42:07    

Malicote a écrit :

Auriez-vous une méthode pour améliorer cela ou alors connaitriez-vous un language excellent dans ce genre de calculs ?

 

Suivant certains membres très réguliers de cette section, on te dira:
- python, voire ruby.
- Haskell, qui est enfin prêt pour la conquête du monde.
- PHP, mais il te dira que c'est de la merde.
- Java, encore que... il faudra se décider sur la version de la JVM.
- surtout pas le C (ou SQL), de toute manière, on attend que ces langages crèvent depuis les années 80.
- C++ , en abusant des templates.

 

Ils se reconnaitront, je pense.

 

Je te conseille plutot déjà de te focaliser sur ton algo et le simplifier/l'améliorer au possible (tu es clairement dans une situation ou étudier la complexité est une bonne chose), le choix du langage viendra ensuite (c'est déjà fait?)


Message édité par Gf4x3443 le 25-02-2009 à 19:43:04

---------------
Petit guide Kerberos pour l'administrateur pressé
Reply

Marsh Posté le 25-02-2009 à 22:44:13    

C'est un produit de convolution ,donc avec une FFT 2D, ça devrait nettement améliorer les choses.
http://fr.wikipedia.org/wiki/Produit_de_convolution
Avec une lib qui va bien, ça doit être quasi instantané. Au pire, tu crées un petit exécutable n ligne de commande qui lit le fichier, fait le calcul, réécrit, et derrière, ton programme PHP relit le résultat. C'est bourrin, mais je dirais au pifomètre ~1-2s sur un PC récent.
Ah, et personne n'a cité le Fortran, langage par excellence pour ce genre de chose :o


Message édité par el muchacho le 25-02-2009 à 22:52:42

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed