Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

traitement d'images

6 réponses
Avatar
leila
Bonjour,
je veux avoir les coordonn=E9es des pixels d'une image dans un rep=E8re
orthonorm=E9 c'est =E0 dire que les coordonn=E9es soient sous forme r=E9el
comme pour un point quelconque dans l'espace. Je ne sais pas si c'est
faisable? J'ai essy=E9 avec BaufferedImage mais je n'ai rien pu faire,
j'ai trouv=E9 que les coordonn=E9es de l'image sont comme celles dans une
matrice.
Merci=20
Leila

6 réponses

Avatar
Hervé AGNOUX
leila wrote:

Bonjour,
je veux avoir les coordonnées des pixels d'une image dans un repère
orthonormé c'est à dire que les coordonnées soient sous forme réel
comme pour un point quelconque dans l'espace. Je ne sais pas si c'est
faisable? J'ai essyé avec BaufferedImage mais je n'ai rien pu faire,
j'ai trouvé que les coordonnées de l'image sont comme celles dans une
matrice.
Merci
Leila


Par construction, les écrans informatiques sont un assemblage de pixels. Ils
sont si petits qu'on peut faire bien des choses avec, mais, à un moment ou
à un autre, ils sont là.

Donc si ton modèle est une image avec des coordonnées exprimées en réel, il
faut te faire un intermédiaire qui les transforme en les tous petits
pixels.

Grand Cordialement !


--
Hervé AGNOUX
http://www.diaam-informatique.com

Avatar
leila
Je n'ai pas vraiment bien compris votre réponse, mais s'il faut
transformer l'image pour avoir des coordonnées réelles, comment ceci
peut être effectué en Java? En effet, j'ai besoins de calculer la
distance euclidienne entre deux pixels, et je n'ai pas trouvé un
résultat effectif en utilisant leurs coordonnées dans une matrice.
Serait il possible de créer un masque en Java et comment?
Merci
Leila
Avatar
Raphael Tagliani
En gros, ce qu'on essaye de dire, c'est que sachant qu'un écran est
divisé en pixels (imagine une grille), les coordonnées des pixels sont
discrètes donc... pas des réels, mais des entiers (byte, int, long...
mais pas float ou double).
Il faut aussi que tu sache que les coordonnées d'un point à l'écran sont
habituellement données comme ceci:

-------------------------------------------> x
|
|
|
|
|
|
|
|
V

y


(donc l'axe y vers le bas)

Pour calculer la distance entre 2 points, tu peux transformer les
coordonnées que tu reçois (des int) en rééls (des float ou double)
en utilisant les constructeurs des classes correspondantes, ou des
méthodes telles que x.doubleValue(), voir API java.
Voilà, en espérant que ça va t'aider un peu!

Je n'ai pas vraiment bien compris votre réponse, mais s'il faut
transformer l'image pour avoir des coordonnées réelles, comment ceci
peut être effectué en Java? En effet, j'ai besoins de calculer la
distance euclidienne entre deux pixels, et je n'ai pas trouvé un
résultat effectif en utilisant leurs coordonnées dans une matrice.
Serait il possible de créer un masque en Java et comment?
Merci
Leila



Avatar
Hervé AGNOUX
leila wrote:


Je n'ai pas vraiment bien compris votre réponse, mais s'il faut
transformer l'image pour avoir des coordonnées réelles, comment ceci
peut être effectué en Java? En effet, j'ai besoins de calculer la
distance euclidienne entre deux pixels, et je n'ai pas trouvé un
résultat effectif en utilisant leurs coordonnées dans une matrice.
Serait il possible de créer un masque en Java et comment?
Merci
Leila


Il y a, comprends-je, deux choses :

- d'un coté votre espace réel avec des coordonnées réelles, indépendant
d'une forme de représentation (si ce n'est mathématique). Vous pouvez
représenter ce monde avec des objets informatiques comportant des réels. Un
point, ici, aura deux coordonnées réelles.

- de l'autre, il y a l'écran avec ses pixels, etc. Ici, les points ont
forcément des coordonnées exprimées en nombres entiers.

Vous devez donc donc forcément avoir ces deux représentations (l'une pour
les calculs, l'autre pour l'affichage), et faire une transformation d'une
représentation en l'autre. Si votre espace à une longueur de 600 mètres,
que sur l'écran vous utilisez une fenêtre de 60 pixels de long, alors
chaque pixel représente une longueur de 10 mètres, et vous ne pouvez rien
représenter qui ait une dimension plus petite.

Est-ce que ma réponse est plus claire ? :-)


--
Hervé AGNOUX
http://www.diaam-informatique.com

Avatar
TestMan
Bonjour,
je veux avoir les coordonnées des pixels d'une image dans un repère
orthonormé c'est à dire que les coordonnées soient sous forme réel
comme pour un point quelconque dans l'espace. Je ne sais pas si c'est
faisable? J'ai essyé avec BaufferedImage mais je n'ai rien pu faire,
j'ai trouvé que les coordonnées de l'image sont comme celles dans une
matrice.
Merci
Leila



Bonjour,

Je te conseille d'éplucher un bon tutoriel sur Java2D et le paquet
java.awt.geom .... y comprit le javadoc et les guides ;-)

Commence par regarder le Graphics2D ...

Ensuite, pour normer ton espace rendu, tu as :

http://java.sun.com/javase/6/docs/api/java/awt/GraphicsConfiguration.html#getNormalizingTransform()

Pour la partie ortho ... ça l'est par défaut vu les écrans actuels, non
? ;-)

A+
TM

Avatar
leila
Oui c'est bien clair merci a vous tous

On 23 jan, 22:18, Hervé AGNOUX
wrote:
leila wrote:

Je n'ai pas vraiment bien compris votre réponse, mais s'il faut
transformer l'image pour avoir des coordonnées réelles, comment ceci
peut être effectué en Java? En effet, j'ai besoins de calculer la
distance euclidienne entre deux pixels, et je n'ai pas trouvé un
résultat effectif en utilisant leurs coordonnées dans une matrice.
Serait il possible de créer un masque en Java et comment?
Merci
LeilaIl y a, comprends-je, deux choses :


- d'un coté votre espace réel avec des coordonnées réelles, ind épendant
d'une forme de représentation (si ce n'est mathématique). Vous pouvez
représenter ce monde avec des objets informatiques comportant des rée ls. Un
point, ici, aura deux coordonnées réelles.

- de l'autre, il y a l'écran avec ses pixels, etc. Ici, les points ont
forcément des coordonnées exprimées en nombres entiers.

Vous devez donc donc forcément avoir ces deux représentations (l'une pour
les calculs, l'autre pour l'affichage), et faire une transformation d'une
représentation en l'autre. Si votre espace à une longueur de 600 mè tres,
que sur l'écran vous utilisez une fenêtre de 60 pixels de long, alors
chaque pixel représente une longueur de 10 mètres, et vous ne pouvez rien
représenter qui ait une dimension plus petite.

Est-ce que ma réponse est plus claire ? :-)

--
Hervé AGNOUXhttp://www.diaam-informatique.com