rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Java: éditer le manifest dans le .jar

Posté par onzeaout, le lundi 8 octobre 2007 à 14:43:48
Bonjour à tous!
Je travaille sur un projet d'analyses d'images avec Eclipse.
J'ai un programme JAVA me servant à extraire les classes de couleurs et à compter les pixels les contenant d'une image:
[CODE=JAVA]package color;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.imageio.ImageIO;

public class colorcounter{

public static void main(String[] args) {

// lecture de l'image
BufferedImage image = null;
try {
image = ImageIO.read(new File("26.jpg"));
} catch (IOException e) {
e.printStackTrace();
return;
}

// Map (rgb)=>count
Map<Integer, Integer> rgbmapcount = new HashMap<Integer, Integer>();

// parcours des pixels de l'image, et creation/mise a jour de la Map
for(int y=0;y<image.getHeight();y++) {
for(int x=0;x<image.getWidth();x++) {
// valeur [a]rgb, codé sur un entier (4 octets)
int rgb = image.getRGB(x,y);

// recherche dans la map
if (!rgbmapcount.containsKey(rgb)) {
rgbmapcount.put(rgb, 1); // n'existe pas => creation
} else {
int previouscount = rgbmapcount.get(rgb);
rgbmapcount.put(rgb, previouscount+1); // n'existe => mise a jour
}
}
}

// Combien de couleurs apparaissent plus de 10 fois ?
int distinctcolor=0;
int pixelcount=0;
for(int rgb:rgbmapcount.keySet()) {
int rgbcount = rgbmapcount.get(rgb);
if (rgbcount<10) continue;
distinctcolor++;
pixelcount+=rgbcount;
}
System.out.println("nombre de couleurs distinctes: "+distinctcolor);
System.out.println("nombre de pixels: "+pixelcount);

// Richesse de la palette
double U = (double)distinctcolor / pixelcount;
System.out.println("Richesse de la palette: "+U);
}

}[/CODE]
Lors de l'exécution de ce programme, j'ai ce message:
[QUOTE]javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(Unknown Source)
at color.colorcounter.main(colorcounter.java:18
)[/QUOTE]
J'ai donc pensé qu'il fallait créer dans le bin du Jdk un fichier .jar contenant la classe concernée et les images à analyser, ce que j'ai fait. (image.jar)
Mais il me faut aussi pour rendre cette archive exécutable modifier le Manifest
(créé par défaut lors de la création de l'archive .jar) pour y introduire le nom de la class concerné.
MANIFEST (.txt):
[QUOTE]Manifest-Version 1.0

Created by: Tonio

Main-Class: colorcounter


[/QUOTE]
avec le saut de page à la dernière ligne.
Je tape donc en ligne de cde: jar cvfm image.jar MANIFEST.MF colorcounter.class 26.jpg

J'obtient un message:
[IMG]http://www.imagup.info/images/06/1191773639_colorjava.j­pg[/IMG]
J'ai cherché partout sur le net, dans les TUTO, avec Mr Google et surtout ici même mais sans rien trouver de vraiment explicite.
Les fichiers Manifest ne sont manifestement pas très intéressants (je sais elle était facile :mouarf:)
Aie-je fait une erreur dans l'intitulé? manifest.mf ou manifest.txt ou ????
Ou alors me gourre-je ailleurs??
Faut-il dans le manifeste à la ligne Main-Class préciser le package?
Dois-je aussi préciser le Class-Path?
M'enfin, si déjà il ne reconnait pas mon manifeste....
Merci pour votre aide, si j'arrive (enfin!) à éxecuter mon code, je ferais un ajout ici pour expliquer la méthode en détail, car j'ai remarqué en surfant ici et là que nombre de débutants rament sur cette question de l'utilisation des images avec Eclipse.....

Amicalement
Configuration: Windows XP
Firefox
Répondre à onzeaout  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lili, le lundi 3 décembre 2007 à 08:47:20
j'ai un pb avec java
le problem comment stocker les valeur rgb d'une image dans un tableau 3 dimension?
et a la fin afficher ce tableau dans un repère (x,y,z) x reprèsente R et y represente G et z reprèsente B?
s.v.b.si vous avez un solution please help me pour realiser ma projet de fin d'etude .merci en tous les cas
Répondre à lili

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 danimo, le lundi 3 décembre 2007 à 12:29:24
salut !

... jar cmf nom_manifest.mf.txt
Répondre à danimo
Logiciels pertinents trouvés dans les téléchargements
Télécharger Crimson Editor 3.70Crimson Editor - Crimson Editor est un éditeur professionnel de code source pour Windows. Ce programme, très léger en terme de taille,...Catégorie: Webmaster
Licence: Freeware/gratuit
Télécharger Delphi 6 Edition personnelle 6.0Delphi 6 Edition personnelle - La société Borland (Inprise) a mis à disposition gratuitement, pour un usage non-commercial, la version 6 de son...Catégorie: Delphi
Licence: Freeware/gratuit
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger VB Editor 2.0VB Editor - Décompileur de fichiers exécutables compilés avec Visual Basic 5 ou 6 Catégorie: Visual Basic
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « java: éditer le manifest dans le .jar »