Besoin d'aide pour traiter une image en java

Besoin d'aide pour traiter une image en java - Java - Programmation

Marsh Posté le 10-11-2005 à 17:36:05    

Bonjour,
Dans le cadre d'un projet tuteuré (qui n'a de tuteuré que le nom) pour valider mon DUT informatique, on me demande d'ouvrir une image, et de flouter une certaine zone de cette image. On m'a simplement demandé de le faire en java (on aurait pu me donner plus d'infos tout de même...). Bref, j'ai téléchargé et installé netbeans, mais étant habitué à C++ builder, je suis complètement perdu. Je ne sais pas comment aborder le sujet, et encore moins comment vérifier l'avancement de moin travail en "exécutant" l'appli.
Un petit coup de main ne serait pas de refus :D
Merci

Reply

Marsh Posté le 10-11-2005 à 17:36:05   

Reply

Marsh Posté le 10-11-2005 à 19:23:39    


 
Tu dois regarder JAI (java advanced Imaging), comme ça tu dois pouvoir récupérer ton image en tableau de byte que tu px manipuler; enfin je dis ça pq je pense pas que J2SE de base le gère, maisça tu dois regarder.
Pour le flouttage, reprends tes cours de traitement d'images, t'as plein d'algos simples à mettre en oeuvre pr le réaliser.
 
Enfin pr l'IDE, à mon avis oublie Netbeans, j'ai jamais réussi à l'utiliser et je pense que c orienté gros projets avec des serveurs et bdd ds ts les sens. DOnc au pire fais ça en ligne de cmd, tu perdras moins de tps.


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 10-11-2005 à 19:27:31    

essaye ca:
http://www.developer.com/java/othe [...] hp/3441391


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 11-11-2005 à 03:26:51    

Salut,
 
Pour le floutage, si j'étais moi, je prendrais :
- une copie de l'image originale A,
- une copie de l'image originale B,
- une image de la même taille toute noire avec les zones qu'il faut flouter en blanc C,  
- une image comportant par exemple un carré blanc sur fond noir D.
 
A = FFT(A);
D = FFT(D);
A = A * D;
A = FFTinverse(A);
 
Ensuite, pour chaque pixel, si C[x,y] est blanc, B[x,y] = A[x,y].
Et le résultat final est dans B et ta vie c'est de la balle.
 
Et si j'étais moi je ferais ça avec JBuilder ou JCreator ou en ligne de commande.
Enfin moi tu sais j'y connais rien (Kad & O inside).


Message édité par rnoizet le 11-11-2005 à 04:09:10
Reply

Marsh Posté le 13-11-2005 à 21:13:22    

Merci pour vos réponses, je vais examiner tout ça ;)

Reply

Marsh Posté le 14-11-2005 à 13:56:59    

Il te faut coder un ImageFilter (en fait 2). Je te conseille l'algo suivant.
Soit une image I0.
Tu appliques le flou F1 a l'ensemble de l'image I0, tu obtiens une image I1.
Tu applique le masque F2 a l'image I0, tu obtiens I2.
Tu copies I2 sur I1, tu obtiens le resultat souhaite.
F1 est le filtre de flou (BlurImageFilter),
F2 est le filtre de transparence (AlphaImageFilter).
Tu devrais pouvoir trouver ces filtres sur Internet. Le second est tres facile a coder, le premier est un peu plus dur.


---------------
The Million Dollar Screenshot  (seo v7ndotcom elursrebmem paesys wifi)
Reply

Marsh Posté le 15-11-2005 à 00:18:51    

Merci pour ce post ;)
J'avance doucement mais surement: je viens de coder une appli java qui permet d'ouvrir une image jpeg ou gif et qui l'affiche dans une fenêtre fille. J'ai réussi à flouter entièrement l'image légèrement grâce à une matrice et une convolution. le problème c'est que si j'augmente le coeff de "floutage" l'image s'éclaircit et ne se floute plus :'(
Je vais essayer avec JAI, mais je ne sais pas comment on installe cette bibliothèque et comment l'instancier sous netbeans...

Reply

Marsh Posté le 17-11-2005 à 00:11:59    

Bonsoir!
J'ai pas mal avancé! Grace à un bouton en haut de chaque nouvelle fenêtre fille, je peux flouter intégralement l'image :) J'aimerais maintenant faire une sélection graphique, cad tracer un rectangle en temps réel à l'aide de la bibliothèque graphics2D et des évènements souris pressed et release. Le problème c'est que je n'y arrive pas, rien ne se trace :D

Reply

Marsh Posté le 17-11-2005 à 07:26:32    

Déjà, es-tu bien sûr d'intercepter correctement les évènements de la souris ?

Reply

Marsh Posté le 17-11-2005 à 21:26:17    

oui, j'y arrive, puisque je peux tracer mon rectangle avec les évènements mouse press et mouse release, sauf que le traçage se fait sur l'évènement release :) Moi je voudrais qu'il se fasse en temps réel.

Reply

Marsh Posté le 17-11-2005 à 21:26:17   

Reply

Marsh Posté le 17-11-2005 à 23:20:42    


 
Est-ce que tu n'as pas un évènement onMouseMove qui te permettrait de retracer le rectangle qd tu déplaces la souris? onMouseRelease te sert alors à valider ton rectangle, et onMouseDown à initier un nouveau rectangle.


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 17-11-2005 à 23:26:37    

Bon je viens de vérifier ma javadoc et il semble pas y avoir  d'évènement MouseMove.
 
DAns ce cas, défini une variable genre : boolean isMousePressed = false;
 
tu la mets à true dans onMousePressed avec la condition suivante:

Code :
  1. if(isMousePressed == false) // Premiere pression
  2. {
  3.     // Définir le premier coin du rectangle
  4.     /* ...*/
  5.     isMousePressed = true;
  6.     return;
  7. }
  8. else // le bouton est déjà appuyé
  9. {
  10.     // Définir le second coin du rectangle
  11.     /* ... */
  12.     return;
  13. }


 
 
et dans  

Code :
  1. onMouseReleased(){
  2.     /* ... */
  3.     isMousePressed = false;
  4. }


 
enfin qqchose comme ça.


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 17-11-2005 à 23:35:28    


 
Au fait tu px expliquer cmt tu as finalement fait pour traiter ton image stp?


---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi
Reply

Marsh Posté le 18-11-2005 à 07:07:58    

wapcamer a écrit :

Bon je viens de vérifier ma javadoc et il semble pas y avoir  d'évènement MouseMove.
 
DAns ce cas, défini une variable genre : boolean isMousePressed = false;
 


 
Yep, je trouve aussi que c'est la meilleure solution!

Reply

Marsh Posté le 19-11-2005 à 10:52:21    

Week end :D je m'occupe de ça dès lundi ;) je posterai les sources ;)

Reply

Marsh Posté le 22-11-2005 à 20:57:23    

Bonsoir,
J'ai un petit problème:
je voudrais ouvrir une fenêtre de paramètres, les rentrer, et faire en sorte que ces apramètres soient conservés lors de l'appel de la classe qui floute les images. Comment faire pour stocker ces paramètres proprement, tout en pouvant les modifier à la volée (avec un menu paramètres)?
Merci

Reply

Sujets relatifs:

Leave a Replay

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