Transposition d'images
Projet gus05 de développement Java :: Chantiers :: Chantiers techniques :: Traitement des données :: Traitements sur les images
Page 1 sur 1
Transposition d'images
Voici quelques entités de traitement pour transposer les images (objets de type java.awt.RenderedImage) grâce à l'API Java Advanced Imaging (JAI).
L'image ci-dessous, une illustration de l'anime la princesse Mononoke, permet d'illustrer ces différentes transformations. (Cette image sera reprise par la suite pour illustrer les transformations d'image à venir)
Le retournement vertical
Le retournement horizontal
Le retournement diagonal
Le retournement anti-diagonal
La rotation de 90°
La rotation de 180°
La rotation de 270°
L'image ci-dessous, une illustration de l'anime la princesse Mononoke, permet d'illustrer ces différentes transformations. (Cette image sera reprise par la suite pour illustrer les transformations d'image à venir)
Le retournement vertical
- Code:
package gus05.entity.gus.image.transform.rendered.flip.vertical;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.ParameterBlock;
import javax.media.jai.JAI;
import javax.media.jai.operator.TransposeDescriptor;
import gus05.framework.core.Entity;
import gus05.framework.features.Transform;
public class ImageFlipVertical implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.flip.vertical";}
public String getCreationDate() {return "2011.07.06";}
public Object transform(Object obj) throws Exception
{
RenderedImage image = (RenderedImage) obj;
ParameterBlock pb = new ParameterBlock();
pb.addSource(image);
pb.add(TransposeDescriptor.FLIP_VERTICAL);
return JAI.create("transpose",pb);
}
static{System.setProperty("com.sun.media.jai.disableMediaLib","true");}
}
Le retournement horizontal
- Code:
package gus05.entity.gus.image.transform.rendered.flip.horizontal;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.ParameterBlock;
import javax.media.jai.JAI;
import javax.media.jai.operator.TransposeDescriptor;
import gus05.framework.core.Entity;
import gus05.framework.features.Transform;
public class ImageFlipHorizontal implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.flip.horizontal";}
public String getCreationDate() {return "2011.07.06";}
public Object transform(Object obj) throws Exception
{
RenderedImage image = (RenderedImage) obj;
ParameterBlock pb = new ParameterBlock();
pb.addSource(image);
pb.add(TransposeDescriptor.FLIP_HORIZONTAL);
return JAI.create("transpose",pb);
}
static{System.setProperty("com.sun.media.jai.disableMediaLib","true");}
}
Le retournement diagonal
- Code:
package gus05.entity.gus.image.transform.rendered.flip.diagonal;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.ParameterBlock;
import javax.media.jai.JAI;
import javax.media.jai.operator.TransposeDescriptor;
import gus05.framework.core.Entity;
import gus05.framework.features.Transform;
public class ImageFlipDialog implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.flip.diagonal";}
public String getCreationDate() {return "2011.07.06";}
public Object transform(Object obj) throws Exception
{
RenderedImage image = (RenderedImage) obj;
ParameterBlock pb = new ParameterBlock();
pb.addSource(image);
pb.add(TransposeDescriptor.FLIP_DIAGONAL);
return JAI.create("transpose",pb);
}
static{System.setProperty("com.sun.media.jai.disableMediaLib","true");}
}
Le retournement anti-diagonal
- Code:
package gus05.entity.gus.image.transform.rendered.flip.antidiagonal;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.ParameterBlock;
import javax.media.jai.JAI;
import javax.media.jai.operator.TransposeDescriptor;
import gus05.framework.core.Entity;
import gus05.framework.features.Transform;
public class ImageFlipAntiDialog implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.flip.antidiagonal";}
public String getCreationDate() {return "2011.07.06";}
public Object transform(Object obj) throws Exception
{
RenderedImage image = (RenderedImage) obj;
ParameterBlock pb = new ParameterBlock();
pb.addSource(image);
pb.add(TransposeDescriptor.FLIP_ANTIDIAGONAL);
return JAI.create("transpose",pb);
}
static{System.setProperty("com.sun.media.jai.disableMediaLib","true");}
}
La rotation de 90°
- Code:
package gus05.entity.gus.image.transform.rendered.rotate90;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.ParameterBlock;
import javax.media.jai.JAI;
import javax.media.jai.operator.TransposeDescriptor;
import gus05.framework.core.Entity;
import gus05.framework.features.Transform;
public class ImageRotate90 implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.rotate90";}
public String getCreationDate() {return "2011.07.05";}
public Object transform(Object obj) throws Exception
{
RenderedImage image = (RenderedImage) obj;
ParameterBlock pb = new ParameterBlock();
pb.addSource(image);
pb.add(TransposeDescriptor.ROTATE_90);
return JAI.create("transpose",pb);
}
static{System.setProperty("com.sun.media.jai.disableMediaLib","true");}
}
La rotation de 180°
- Code:
package gus05.entity.gus.image.transform.rendered.rotate180;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.ParameterBlock;
import javax.media.jai.JAI;
import javax.media.jai.operator.TransposeDescriptor;
import gus05.framework.core.Entity;
import gus05.framework.features.Transform;
public class ImageRotate180 implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.rotate180";}
public String getCreationDate() {return "2011.07.05";}
public Object transform(Object obj) throws Exception
{
RenderedImage image = (RenderedImage) obj;
ParameterBlock pb = new ParameterBlock();
pb.addSource(image);
pb.add(TransposeDescriptor.ROTATE_180);
return JAI.create("transpose",pb);
}
static{System.setProperty("com.sun.media.jai.disableMediaLib","true");}
}
La rotation de 270°
- Code:
package gus05.entity.gus.image.transform.rendered.rotate270;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.ParameterBlock;
import javax.media.jai.JAI;
import javax.media.jai.operator.TransposeDescriptor;
import gus05.framework.core.Entity;
import gus05.framework.features.Transform;
public class ImageRotate270 implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.rotate270";}
public String getCreationDate() {return "2011.07.05";}
public Object transform(Object obj) throws Exception
{
RenderedImage image = (RenderedImage) obj;
ParameterBlock pb = new ParameterBlock();
pb.addSource(image);
pb.add(TransposeDescriptor.ROTATE_270);
return JAI.create("transpose",pb);
}
static{System.setProperty("com.sun.media.jai.disableMediaLib","true");}
}
Projet gus05 de développement Java :: Chantiers :: Chantiers techniques :: Traitement des données :: Traitements sur les images
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Mar 16 Sep - 12:01 par Gus
» Présentation du jeu Vindinium
Jeu 20 Fév - 15:32 par Gus
» Rechercher la cible la plus proche avec le "Breadth First Search"
Jeu 20 Fév - 13:06 par Gus
» Impression d'écran avec sélection de zone
Jeu 20 Fév - 12:12 par Gus
» Envoyer un mail par un compte Gmail
Jeu 25 Avr - 14:04 par Gus
» Streaming : comment télécharger les vidéos
Lun 4 Fév - 19:59 par Gus
» Synology : installer ipkg
Mar 22 Jan - 21:22 par Gus
» Trouver le type de lecteur avec JNA
Mer 9 Jan - 23:11 par Gus
» Adresse ip publique et adresse ip privée, Internet box et UPnP
Mer 9 Jan - 21:02 par Gus
» Accéder au numéro de série du lecteur par un script vb
Mer 9 Jan - 19:31 par Gus