-
Récuperer des pixels
Bonjour,
Dans le cadre d'un stage, je développe un logiciel en Java dans lequel je dois récupérer des informations sur des pixels contenus dans une zone dessinée par l'utilisateur sur une image. Ces informations sont les coordonnées du pixel et son niveau de gris. Sachant que je dois exporter ses informations dans un tableur, est-il judicieux de créer une classe pixel et créer une instance de cette classe pour chaque pixel de la zone ? Je parle surtout niveau mémoire.
Merci,
Siriru
-
Il n'est pas du tout judicieux de créer une classe Pixel, car tu en auras énormément !
Il te suffit de conserver un tableau de int. Pour l'obtenir, il y a plusieurs méthodes. La plus simple est certainement de passer par java.awt.image.BufferedImage avec la méthode "getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)".
-
Le truc c'est que l'on traite des fichiers qui contiennent n images. Ces images correspondant à des canaux, elles sont toutes superposables et donc pour un pixel dans une zone sélectionnée par l'utilisateur, il n'y pas seulement un niveau de gris, mais n, n correspondant au nombre de canaux. Donc on ne sait pas d'avance combien de niveau de gris différent possèdera un pixel selon le canal.
-
Ah ok...
C'est à toi de voir. Tout dépend des traitements que tu souhaites faire. Si c'est uniquement pour écrire les informations sous forme d'un tableau, inutile de faire une classe. Autant conserver N tableaux de int pour tes N images. Tu auras moins de traitements et de conversions à faire.
-
D'accord, merci.
Donc en fait, au lieu de faire une classe pixel dont chaque instance contiendrait un seul pixel, je peux faire une classe tableaupixel avec N instance correspondant aux N canaux pour les niveau de gris, une instance pour la coordonnée x, et une instance pour la coordonnée y.
Bien sur ca serait simplement des tableaux de int.