Salut tout le monde !
Après les retours du Dod et du Beb, je viens de mettre en ligne la version 1.01 du logiciel Mosaïque.
J’ai juste corrigé un bug qui provoquait un NullPointerException, et ça devrait mieux marcher ! ^^
Voici le lien de téléchargement :
Par ailleurs, j’ai fait une petite vidéo pour expliquer comment fonctionne le logiciel.
Video mosaique 1.01 (3 min)
Salut Gus,
Il reste a trouver le moyen de baisser la conso memoire de l’appli. Des que j’essaie avec un repertoire contenant des images de 1M ou +, je recois des exceptions memory heap full. J’ai pas encore fouille si ca venait de la taille en pixel des image, du nombre d’image ou de quoi exactement. J’ai aumente la taille la heap jvm a 1G, ce n’est pas suffisant.
A+
Dod
ps: sinon, avec des petits jpg glannes sur le net pour faire l’essai, pas de soucis.
ps2: l’exception remontee:
Exception in thread « THREAD_gus06.entity.gus.appli.mosaique.engine.EntityImpl » java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferByte.(Unknown Source)
at java.awt.image.ComponentSampleModel.createDataBuffer(Unknown Source)
at java.awt.image.Raster.createWritableRaster(Unknown Source)
at javax.imageio.ImageTypeSpecifier.createBufferedImage(Unknown Source)
at javax.imageio.ImageReader.getDestination(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(Unknown Source)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
at gus06.entity.gus.file.read.image.imageio.cache.EntityImpl.t(EntityImpl.java:27)
at gus06.manager.gus.gyem.m061.t.service.wrapper1.Module$ServiceImpl.t(Module.java:106)
at gus06.entity.gus.appli.mosaique.processor.bestfit.EntityImpl.readFile(EntityImpl.java:77)
at gus06.entity.gus.appli.mosaique.processor.bestfit.EntityImpl.computeDistance(EntityImpl.java:64)
at gus06.entity.gus.appli.mosaique.processor.bestfit.EntityImpl.bestFit(EntityImpl.java:47)
at gus06.entity.gus.appli.mosaique.processor.bestfit.EntityImpl.t(EntityImpl.java:35)
at gus06.manager.gus.gyem.m061.t.service.wrapper1.Module$ServiceImpl.t(Module.java:106)
at gus06.entity.gus.appli.mosaique.engine.EntityImpl.perform(EntityImpl.java:118)
at gus06.entity.gus.appli.mosaique.engine.EntityImpl.run(EntityImpl.java:85)
at java.lang.Thread.run(Unknown Source)
yep… pour des raisons de performance, je met en cache les données qui sont traitées par l’appli (c’est notamment le rôle de l’entité : gus.file.read.image.imageio.cache), et le contre-coup, c’est que ça consomme de la mémoire vive.
Regarde la taille de ton répertoire d’images et notamment s’il fait plus d’un 1Go. Le cas échéant, il faudra encore augmenter le Java Heap Space.
Par exemple : -Xms2048m -Xmx4096m (mail il faut que l’ordi puisse supporter)
Telle que l’appli est actuellement conçue, je ne vois pas d’autre solution à court terme, mais ça ouvre une piste d’amélioration.