Comment comparer les pixels d'une image [Java] - Java - Programmation
Marsh Posté le 16-05-2003 à 14:19:39
| Citation : le niveau de gris des pixels varient | 
 
 
ce qui veut dire ?
Marsh Posté le 16-05-2003 à 14:28:24
| chrisbk a écrit : 
   | 
 
 
Je pensais bien que gt pas clair  
  
Vais essayer de mettre un image!
Marsh Posté le 16-05-2003 à 14:38:49
[img]file:C:\Documents and Settings\Administrateur\Bureau\test.jpg[/img] 
 
Je crois que ça va pas marché!!  
 
Marsh Posté le 16-05-2003 à 14:41:41
En gros je veux repérer l'endroit ou la valeur des pixels atteint en certain seuil! 
C plus clair ça?  
 
Marsh Posté le 16-05-2003 à 14:41:53
| iutien a écrit : [img]file:C:\Documents and Settings\Administrateur\Bureau\test.jpg[/img]  | 
 
 
 ![[:xx_xx] [:xx_xx]](https://forum-images.hardware.fr/images/perso/xx_xx.gif)
Marsh Posté le 16-05-2003 à 14:43:50
Si qq'un sait comment on insere des images dans le forum!!  
 
Marsh Posté le 16-05-2003 à 14:46:59
| iutien a écrit : Si qq'un sait comment on insere des images dans le forum!!  | 
faut les uploader sur un serveur, sinon ça risque pas de marcher
Marsh Posté le 16-05-2003 à 15:45:54
conversion en noir et blanc, recherche de ton seuil 
en dessous : 0 
au dessus : 255 
resultat dans image A 
faire une copie de l'image ainsi seuillée (image B) 
appliquer dessus une erosion 
puis faire 
image destination = A ^ B 
tu aura le superbe contour des parties seuillees 
Marsh Posté le 16-05-2003 à 15:57:04
comme tu le sais, une image en noir et blanc n'est plus represente que par l'intensite de ces pixels, celle.si variant de 0 a 255 
|   | 
 
Marsh Posté le 16-05-2003 à 16:02:08
| chrisbk a écrit : comme tu le sais, une image en noir et blanc n'est plus represente que par l'intensite de ces pixels, celle.si variant de 0 a 255  
   | 
 
 
 
Heu g trois parties a différencier!  
  
p=  
 
Marsh Posté le 16-05-2003 à 16:03:18
| iutien a écrit :   | 
 
 
| Citation : En gros je veux repérer l'endroit ou la valeur des pixels atteint en certain seuil!  | 
 
 
je comprends rien 
reexplique 
Marsh Posté le 16-05-2003 à 16:09:20
| chrisbk a écrit :   
   | 
 
 
Nan ça va t'as compris! sauf que je vais avoir 2 seuils! 
en fait c des  images IRM! il faut différencier le fond de l'image, le gras et le muscle  ! c sur des cochons
 ! c sur des cochons 
donne moi ton mail je t'enverrai un foto!  
 
Marsh Posté le 16-05-2003 à 16:11:26
| iutien a écrit :   | 
 
 
hum 
ben pareil sauf que as deux seuils 
par contre pour mes histoires d'erosion, c legerement a revoir, mais comme je pars en WE je laisse ca "as an exercice for the reader" comme y disent, les anglophones  
Marsh Posté le 16-05-2003 à 16:13:22
| iutien a écrit :   | 
 
alors tu trouves tes seuils, en dessous du premier tu mets 0, au-dessus du 2eme 255, et entre les 2 127 ou 128...
Marsh Posté le 16-05-2003 à 16:17:34
| skeye a écrit :   | 
 
 
bah oui je vais faire ça! Merci 
Mais pour traiter des pixels on utilise quoi comme classe?  
 
Marsh Posté le 16-05-2003 à 16:22:38
| iutien a écrit :   | 
 
aucune idée, je fais pas (plus) de java...J'utilise ma propre classe d'image en C++!
Marsh Posté le 16-05-2003 à 16:27:11
| skeye a écrit :   | 
 
 
bah tant pis alors  
  
Je vais fouiller l'API  
 
Marsh Posté le 19-05-2003 à 14:27:12
Si ce n'est pas gênant que ton appli ne tourne qu'a partir du JDK 1.4, tu peux utiliser la classe Image, ou plutôt BufferedImage (méthode getRGB). 
J'crois que pour obtenir une Image, tu doit pouvoir utiliser la classe java.awt.Toolkit 
J'dis ça, mais j'ai jamais essayé. A voir...
Marsh Posté le 19-05-2003 à 14:31:29
| El_gringo a écrit : Si ce n'est pas gênant que ton appli ne tourne qu'a partir du JDK 1.4, tu peux utiliser la classe Image, ou plutôt BufferedImage (méthode getRGB).  | 
 
 
ouaip, getDefaultToolkit().getImage() sauf que ca te renvoie une Image et non un bufferedImage, et Image a une interface des plus basiques, autrement dit tu ne peux meme pas mettre un pixel a la couleur que tu veux. 
 
Donc a mon idee va pour un new BufferedImage() 
 
Marsh Posté le 19-05-2003 à 16:53:33
| chrisbk a écrit :   | 
 
 
...et comment tu fais le lien entre ton image (dans un fichier par exmple), et ton BufferedImage ?
Marsh Posté le 19-05-2003 à 17:02:53
a tout hasard : 
 http://java.sun.com/products/jdk/1 [...] e.fm6.html 
Marsh Posté le 19-05-2003 à 17:22:58
| El_gringo a écrit :   | 
 
 
Ah ça c une très bonne question!!  
  
C ce que j'essaie de faire de puis le début de l'am! 
 
Sinon merci pour votre aide  
 
Marsh Posté le 19-05-2003 à 17:44:58
euh ca vient de moi ou je comprend rien a ce que tu veux ?? 
 
 
 
doc de sun 
http://java.sun.com/j2se/1.4.1/doc [...] s.fm1.html 
 
si tu connais que dalle a java2d vaut mieux commencer dans le guide que dans les classes. 
Marsh Posté le 19-05-2003 à 18:01:49
| El_gringo a écrit :   | 
 
 
hum ![[:meganne] [:meganne]](https://forum-images.hardware.fr/images/perso/meganne.gif) 
 
he bien ![[:gratgrat] [:gratgrat]](https://forum-images.hardware.fr/images/perso/gratgrat.gif) 
 
evidemment, dis comme ca ![[:humanrage] [:humanrage]](https://forum-images.hardware.fr/images/perso/humanrage.gif) 
 
roh et merde  
 
 
Marsh Posté le 19-05-2003 à 21:42:42
| El_gringo a écrit :   | 
avec javax.imageio.ImageIO 
Marsh Posté le 20-05-2003 à 10:26:36
| the real moins moins a écrit : avec javax.imageio.ImageIO  | 
 
 
Heu j'en suis là  
  
 
/* 
 * Created on 15 mai 2003 
 * 
 * To change the template for this generated file go to 
 * Window>Preferences>Java>Code Generation>Code and Comments 
 */ 
import ij.IJ; 
import ij.plugin.PlugIn; 
import java.awt.*; 
import java.awt.image.*; 
import java.io.*; 
 
import javax.imageio.ImageIO; 
 
 
/** 
 * @author Administrateur 
 * 
 * To change the template for this generated type comment go to 
 * Window>Preferences>Java>Code Generation>Code and Comments 
 */ 
public class Mesurer_ implements PlugIn{ 
 
  
 public void run(String arg){ 
   
 	String dirPath; 
 	String fileName; 
 	BufferedImage bi = null; 
 	Graphics2D graph; 
 	FileDialog dial = new FileDialog(IJ.getInstance(),"Ouvrir...",FileDialog.LOAD); 
 	dial.setVisible(true); 
 	dirPath = dial.getDirectory(); 
 	fileName = dial.getFile(); 
 	System.out.println(dirPath+fileName); 
   
   
   
 	File file = new File(dirPath+fileName); 
 	System.out.println(file.toString()); 
  
   
 	try { 
   bi = ImageIO.read(file); 
   //ImageIO.createImageInputStream(file); 
 	} catch (IOException e) { 
   // TODO Auto-generated catch block 
   e.printStackTrace(); 
 	}   
 } 
} 
 
Mais mon image je la voie tjrs pas là!
Marsh Posté le 20-05-2003 à 10:48:59
ImageIO.read(file) -> ça me renvoie null! ![[:mr marcadet] [:mr marcadet]](https://forum-images.hardware.fr/images/perso/mr marcadet.gif) 
  
 
et chui obligé de le mettre dans un try sinon il compile pô  
  
 
pour ce qui veulent plus d'explication : je veux ouvrir une image pour l'afficher et pouvoir manipuler les pixels! notamment pour faire des seuils!  
 
Marsh Posté le 20-05-2003 à 10:54:28
[citation=400892,1][nom]iutien a écrit[/nom]ImageIO.read(file) -> ça me renvoie null! ![[:mr marcadet] [:mr marcadet]](https://forum-images.hardware.fr/images/perso/mr marcadet.gif) 
  
 
  le read il veut pas lire mon format de fichier. c des dicom! .dc3
 le read il veut pas lire mon format de fichier. c des dicom! .dc3
Marsh Posté le 20-05-2003 à 10:56:35
heuh c pas franchement courrant ca comme type de fichier, et il me semble que le dicom est un truc particulierement tordu.... 
Enfin tu peux toujours essayer de voir si tu ne trouves pas une lib ou la description du formation de fichier pour faire ton propre loader.... Mais franchement pour le coup fallait pas rever  
 
 
Marsh Posté le 20-05-2003 à 10:57:51
affichage -> merci google 
http://java.sun.com/j2se/1.4.1/doc [...] index.html 
 
et pour lire les dicoms tu prend 
http://java.sun.com/j2se/1.4.1/doc [...] OC.fm.html 
 
et tu ecris un plugin =)
Marsh Posté le 20-05-2003 à 11:14:32
  
  
Ah tiens ya deja un truc qui ouvre les dicom sous ImageJ 
  
  
 
En fait je pensais pas que ce serait si compliqué donc pour ouvrir les images je vais faire avec ce qu'il ya deja!  
 
Marsh Posté le 22-05-2003 à 14:01:20
Youhou g réussi!! 
  
  
hein quoi chui tout seul a etre content??  
 
Marsh Posté le 22-05-2003 à 14:34:59
Reply
Marsh Posté le 16-05-2003 à 14:15:37
Salut! Je bosse avec ImageJ (logiciel de visualisation d'image) et il faut que je repère l'endroit ou le niveau de gris des pixels varient! donc il va bien falloir que je compare tous les pixels? 
   
 
Ya pas déja une classe pour ça dans l'API?? ou si qq'un a une library..