Charger une image en java

findizy Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -  
findizy Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   663
 
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   Statut Membre Dernière intervention   1
 
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