Bonsoir,
Je voudrais, à partir d'une matrice d'entiers (représentant des pixels), faire un redimensionnement, sans avoir à reconstruire l'image d'abord.
Savez-vous comment je dois m'y prendre?
Vos idées sont les bienvenues.
Merci d'avance.
Bonsoir,
Je voudrais, à partir d'une matrice d'entiers (représentant des pixels), faire un redimensionnement, sans avoir à reconstruire l'image d'abord.
Savez-vous comment je dois m'y prendre?
Vos idées sont les bienvenues.
Merci d'avance.
Salut,
Je l'ai jamais fait mais j'ai juste une petite idée, si tu veux par exemple rétrécir ton image en deux crée ou affiche une nouvelle image en faisant une moyen de 4 pixel, du genre
Pour tout i et j appartenant à dimension de ton image faire:
NouvelleMatrice[i/2, j/2] = (olgImage [i,j] + olgImage [i+1,j] + olgImage [i,j+1] + olgImage [i+1,j+1]) / 4 ;
Essaye, y a un début à tout;
Cordialement,
Bonjour,
lorsque vous indiquez un redimensionnement: s'agit-il d'un découpage simple, ou s'agit-il d'un ré-échantillonnage avec interpolation entre les pixels ?
La matrice d'entiers correspond-t-elle à une BufferredImage ?
@ bientôt...
Bonjour rtg57,
J'ai réglé mon problème, voilà comment j'ai fait si ça peut servir à d'autres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public BufferedImage redimensionner(BufferedImage img, int taille) { BufferedImage resizedImage = new BufferedImage(taille,taille,BufferedImage.TYPE_3BYTE_BGR); Graphics2D g = resizedImage.createGraphics(); g.setComposite(AlphaComposite.Src); g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); g.drawImage(img, 0, 0, taille, taille, null); g.dispose(); return img; }
Bah c'est-à-dire que là tu manipules des images qui ne sont plus sous forme de matrice de pixels... Je croyais que c'était précisément ce que tu voulais éviter.
Si on avait su que tu voulais ça, on te l'aurait dit assez vite.
Bonjour,
content que le problème soit résolu. Ce n'est pas pour rien que ma question portait sur l'utilisation d'un BufferedImage, car il y a tout ce qu'il faut dans cette classe pour ce genre de manipulation.
@ bientôt...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager