travail sur images - objet le plus adéquat ?

travail sur images - objet le plus adéquat ? - Java - Programmation

Marsh Posté le 30-09-2004 à 21:08:38    

Bonjour,
 
Je vais bosser sur un projet qui soccupe de trier les points
d'images.
En clair, on fait des familles de points selon des critère définis
selon certain algos.
Donc tous les pixels de l'images vont etre lu (parfois plusieurs fois) et rangés.
 
Mon probleme, quel structure utiliser pour mon image ?
Pour le moment, on lit l'image et on la balaie pour faire un
tableau du genre double[][] (double car en fait la valeur du pixel
est une longeur d'onde)
 
Et le truc c'est que faire un algo efficace dans un double[][] c vraiment vraiment lent.  
 
Je pensais à d'autre structure, comme BufferedImage ou les canvas.
Jai besoin d'aide pour choisir une structure adéquate :)
 
Merci
 
edit: pour ceux que ca dit kkchose, en fait
c'est un projet de classification d'images sattelites :)


Message édité par meumeul le 30-09-2004 à 21:11:14
Reply

Marsh Posté le 30-09-2004 à 21:08:38   

Reply

Marsh Posté le 30-09-2004 à 21:18:23    

meumeul a écrit :

Et le truc c'est que faire un algo efficace dans un double[][] c vraiment vraiment lent.


:heink:
 
Tu n'as même pas l'overhead propre à une collection plus 'sophistiquée'; je ne vois pas en quoi double[][] serait foncièrement mauvais.
 
Peut-être ton algo est-il mauvais / pas correctement optimisé, ou ton traitement est-il vraiment très lourd.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 30-09-2004 à 21:21:37    

Les algos c les chercheurs du labo qui les ecrivent ;)
Les autres, c des algos classiques de génie des mathématiques...
Mais bon c vrai c peut etre l'implémentation qui cloche...
 
Donc le mieux c un double[][] ?
 
edit: sachant que les images peuvent avoir jusque 3000 couches,
de taille bien plus que 1000*1000 px... Ca en fait des pixels...
On se ballade dans 3000 double[][] d'une taille trés grande.


Message édité par meumeul le 30-09-2004 à 21:23:35
Reply

Marsh Posté le 30-09-2004 à 21:24:59    

ah oui un autre truc. Sur de gros gros algos, vous preferrez une définition itérative ou récursive ? dans ce cas la par exemple.
Recursif c bien plus clair, mais pas plus lent ? surtout que la pile doit etre énorme nan ?

Reply

Marsh Posté le 30-09-2004 à 21:30:02    

meumeul a écrit :

Les algos c les chercheurs du labo qui les ecrivent ;)


Des physiciens ou des informaticiens  [:crosscrusher]  
 
Tu parles de 3000 couches. Comment justement représentes-tu 3000 fois ton double[][] ?
 
A structure énorme, lenteur en conséquence  [:airforceone]  
 
Récursif, c'est génial d'un point de vue conceptuel, mais outre le fait que ce soit sans doute plus lent (stocker les appels sur la pile), ça bouffe solidement la mémoire... Je suis déjà tombé sur des out of memory pour des traitements bien plus anodins.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 30-09-2004 à 21:37:03    

Les 3000 couches ca tourne sur des gros multi procos,  quil fo reserver 15 jours a lavance. Moi mes tests sont sur des images  de 150*100 de trois couches environ. Et  c'est pas super super rapide.  
Les chercheurs c'est des informaticiens :) donc avec des bases solides de maths. Enfin je pense :)
 
Et sinon pour la structure, de marbre, double[][] ?


Message édité par meumeul le 30-09-2004 à 21:38:23
Reply

Marsh Posté le 30-09-2004 à 21:43:45    

sircam a écrit :

Tu parles de 3000 couches. Comment justement représentes-tu 3000 fois ton double[][] ?


Quelle structure ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 30-09-2004 à 21:50:10    

j'ai pas matté. je crois que c un vector... c mal en plus les vector. Les profs sont doués en algos, mais pas en prog :)

Reply

Marsh Posté le 30-09-2004 à 22:00:07    

meumeul a écrit :

j'ai pas matté. je crois que c un vector... c mal en plus les vector. Les profs sont doués en algos, mais pas en prog :)


J'ai rien contre Vector. Mais si tu connais le nombre de couches avant initialisation, fait plutôt un... double[][][]  [:crusty128]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 30-09-2004 à 22:01:05    

eh ben :|

Reply

Marsh Posté le 30-09-2004 à 22:01:05   

Reply

Marsh Posté le 30-09-2004 à 22:03:57    


Solaïde  [:crosscrusher]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 30-09-2004 à 22:05:02    

moi j'ai banni les vetcor, j'adore les ArrayList et compagnie
 
edit: dailleurs les Vectors, ca devrait etre deprecated, mais il
le font pas parce que y'en a partout partout partout. (cf un article
que je trouve plus :) )


Message édité par meumeul le 30-09-2004 à 22:07:54
Reply

Marsh Posté le 30-09-2004 à 22:05:12    

dés fois le C /C++ c'est mieux hein :o

Reply

Marsh Posté le 30-09-2004 à 22:07:19    

:)

Reply

Marsh Posté le 30-09-2004 à 22:08:29    

Joel F a écrit :

dés fois le C /C++ c'est mieux hein :o


Beh ouais, mais bon.  [:airforceone]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 30-09-2004 à 22:08:33    

Joel F a écrit :

dés fois le C /C++ c'est mieux hein :o


 
pour ce genre de choses c sur... Mais c pas moi qui décide :)

Reply

Marsh Posté le 30-09-2004 à 22:09:11    

meumeul a écrit :

moi j'ai banni les vetcor, j'adore les ArrayList et compagnie
 
edit: dailleurs les Vectors, ca devrait etre deprecated, mais il
le font pas parce que y'en a partout partout partout. (cf un article
que je trouve plus :) )


Faut bien entendu plus commencer avec ça, mais si t'as du code existant, pas la peine de t'exiter à tout convertir.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 30-09-2004 à 22:10:31    

meumeul a écrit :

pour ce genre de choses c sur... Mais c pas moi qui décide :)


 
mouais mes de structures de cette taille en JAVA c'est du suicide.
et je veut même pas voir la geule des algos.
 
Notez : j'ai rien contre JAVA, j'en fait aussi, mais dés fois faut savoir quel outil utilisé ...

Reply

Marsh Posté le 30-09-2004 à 22:13:27    

ouais enfin quand tu voua la machine qui fait les calculs, avec du c tu gagnerai peut etre 3 jours sur deux semaines de calculs. et vu que c des branleurs, il sen foutent

Reply

Marsh Posté le 30-09-2004 à 22:13:34    

Joel F a écrit :

mouais mes de structures de cette taille en JAVA c'est du suicide.
et je veut même pas voir la geule des algos.
 
Notez : j'ai rien contre JAVA, j'en fait aussi, mais dés fois faut savoir quel outil utilisé ...


C'est évident. Ici, Java est moins qu'optimal. Peut-être PHP ou VB  :whistle:. Sérieusement, en dehors d'un truc raw powaa genre C/C++, c'est pas terrible.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 30-09-2004 à 22:15:01    

meumeul a écrit :

ouais enfin quand tu voua la machine qui fait les calculs, avec du c tu gagnerai peut etre 3 jours sur deux semaines de calculs. et vu que c des branleurs, il sen foutent


 
[:le kneu] ... de la confiture au cochon.
Ils ont une machien aprrallele pour faire du number crushign alros qu'ils pourraient develloper des algos full parrallel ... :cry:

Reply

Marsh Posté le 30-09-2004 à 22:16:17    

Full parralel ?

Reply

Marsh Posté le 30-09-2004 à 22:17:27    

ben en utilisant des squelette de parrallélisation, faire communiquer les noeuds, utiliser du multiproc si possible ...
au lieu de dire j'ai 100000 entrées et 100 machines donc ca fait 1000 trucs par machine ...

Reply

Marsh Posté le 30-09-2004 à 22:18:22    

Houla, ca dépasse mon niveau ca... Ca se programme en java ton truc ? (m'en veut pas si je capte rien :) )

Reply

Marsh Posté le 30-09-2004 à 22:18:51    

ca depend :
 
c'est quoi ta "machine parrallele" ?

Reply

Marsh Posté le 30-09-2004 à 22:19:20    

no idea
je vais demander la prochaine fois que je vois le prof
 
le truc c que ca doit tourner sur les machines banales nux ou win
ET sur multi proco je sais pas koi.
 
Ton truc c spécifiques a un "paralel" ?


Message édité par meumeul le 30-09-2004 à 22:20:38
Reply

Marsh Posté le 30-09-2004 à 22:23:40    

Reply

Marsh Posté le 30-09-2004 à 22:24:27    

super je me look ca.
Javais jamais entendu parler.... pauvre de moua

Reply

Marsh Posté le 30-09-2004 à 22:54:24    

ca va devenir de la classification hybride non superviséee paralelle  
 
mdr

Reply

Marsh Posté le 01-10-2004 à 19:58:20    

donc double [][] ?
 
(désolé pour le up, mais je commence surement la semaine prochaine, fo que je sache :) )

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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