Charger une image en java

Fermé
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 - 8 nov. 2009 à 15:20
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 - 11 nov. 2009 à 18:02
Bonjour,

je voudrais prendre les pixels d'une image en java pour les mettre dans un tableau ( int [][] ) de la forme d'une matrice.
Je dois utiliser la fonction getImageData(); pour obtenir les valeurs en niveaux de gris.

Mais je ne sais pas comment dire au programme d'aller prendre les valeurs de telles ou telles images.

J'ai aussi l'erreur suivante à la compilation : variable tab might not have been initialized. Je l'a comprend mais je ne sais pas comment dire au programme de mettre les dimensions de l'image et de prendre les valeurs des pixels de l'image.

Merci d'avance.

J'ai écrit le code suivant :

import java.lang.*;
import tp3.*;
class tp3
{
public static int [][] getImageData(String path)
{
	path = new String("C:\\Users\\Utilisateur\\Desktop\\UCL\\ECGE12BA\\sinf1160\\test.jpg"); 
	int m = 0; // COLONNES
	int n = 0; // LIGNES
	int [][] tab = new int [tab.length][tab.length];
	for(m = 0; m < tab.length; m++)
	{
		for(n = 0; n < tab[m].length; n++)
		{
			System.out.println(tab[m][n]+ " ");
			
		}

	}
	
	return tab;
}

public static void main(String [] args)
{
	int [][] tab;
	int m;
	int n;
	String path = ("C:\\Users\\Utilisateur\\Desktop\\UCL\\ECGE12BA\\sinf1160\\test.jpg");
	tab = getImageData(path = "C:\\Users\\Utilisateur\\Desktop\\UCL\\ECGE12BA\\sinf1160\\test.jpg");
	System.out.println("Voici l'image mise sous forme de tableau");
}
}
A voir également:

2 réponses

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
8 nov. 2009 à 16:30
dans ta fonction tu as écrit :
int [][] tab = new int [tab.length][tab.length];

ça n'a aucun sens car toi, dans la deuxième partie de l'égalité tu veux parler du "tab" du main. Mais dans cette fonction le tab de main est complètement inconnu pour le programme. Il faut que tu passes ton tableau en argument de la fonction par exemple, ou alors tu charges l'image dans la fonction et pas dans main.


de plus :
import java.lang.*

est inutile... java.lang est importé forcément dans tout programme java.
0
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 1
11 nov. 2009 à 18:02
d'accord merci mais alors comment dois-je modifier mon code pour que les pixels du tableau se retrouve dans ma matrice d'arrivée?

je ne trouve toujours pas le solution...

merci d'avance
0