Colorisation des images
Projet gus05 de développement Java :: Chantiers :: Chantiers techniques :: Traitement des données :: Traitements sur les images
Page 1 sur 1
Colorisation des images
Nous allons appliquer la technique du traitement des images point par point pour les coloriser d'une teinte spécifique.
La teinte correspond en fait à la valeur de HUE dans le modèle HSB des couleurs (H:Hue , S:Saturation , B:Brightness).
Image originale :
Colorisation en bleu : gus.image.transform.rendered.color.hue.blue
Colorisation en cyan : gus.image.transform.rendered.color.hue.cyan
Colorisation en vert : gus.image.transform.rendered.color.hue.green
Colorisation en orange : gus.image.transform.rendered.color.hue.orange
Colorisation en rouge : gus.image.transform.rendered.color.hue.red
Colorisation en jaune: gus.image.transform.rendered.color.hue.yellow
Colorisation en magenta : gus.image.transform.rendered.color.hue.magenta
La teinte correspond en fait à la valeur de HUE dans le modèle HSB des couleurs (H:Hue , S:Saturation , B:Brightness).
Image originale :
Colorisation en bleu : gus.image.transform.rendered.color.hue.blue
- Code:
package gus05.entity.gus.image.transform.rendered.color.hue.blue;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import gus05.framework.core.Entity;
import gus05.framework.core.Outside;
import gus05.framework.core.Service;
import gus05.framework.features.Transform;
public class ImageColorHueBlue implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.color.hue.blue";}
public String getCreationDate() {return "2011.07.07";}
public static final Color COLOR = Color.BLUE;
private float hue;
private Service toBufferedImage;
public ImageColorHueBlue() throws Exception
{
toBufferedImage = Outside.service(this,"gus.image.convert.tobufferedimage");
float[] hsb = Color.RGBtoHSB(COLOR.getRed(),COLOR.getGreen(),COLOR.getBlue(),null);
hue = hsb[0];
}
public Object transform(Object obj) throws Exception
{
BufferedImage image = (BufferedImage) toBufferedImage.transform(obj);
int width = image.getWidth();
int heigth = image.getHeight();
BufferedImage buffImg = new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB);
Graphics2D g = buffImg.createGraphics();
for(int i=0;i<width;i++) for(int j=0;j<heigth;j++)
{
int rgb = image.getRGB(i,j);
Color c = new Color(rgb);
float[] hsb = Color.RGBtoHSB(c.getRed(),c.getGreen(),c.getBlue(),null);
float saturation = hsb[1];
float brightness = hsb[2];
g.setColor(Color.getHSBColor(hue,saturation,brightness));
g.drawRect(i,j,1,1);
}
g.dispose();
return buffImg;
}
}
Colorisation en cyan : gus.image.transform.rendered.color.hue.cyan
- Code:
package gus05.entity.gus.image.transform.rendered.color.hue.cyan;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import gus05.framework.core.Entity;
import gus05.framework.core.Outside;
import gus05.framework.core.Service;
import gus05.framework.features.Transform;
public class ImageColorHueCyan implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.color.hue.cyan";}
public String getCreationDate() {return "2011.07.07";}
public static final Color COLOR = Color.CYAN;
private float hue;
private Service toBufferedImage;
public ImageColorHueCyan() throws Exception
{
toBufferedImage = Outside.service(this,"gus.image.convert.tobufferedimage");
float[] hsb = Color.RGBtoHSB(COLOR.getRed(),COLOR.getGreen(),COLOR.getBlue(),null);
hue = hsb[0];
}
public Object transform(Object obj) throws Exception
{
BufferedImage image = (BufferedImage) toBufferedImage.transform(obj);
int width = image.getWidth();
int heigth = image.getHeight();
BufferedImage buffImg = new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB);
Graphics2D g = buffImg.createGraphics();
for(int i=0;i<width;i++) for(int j=0;j<heigth;j++)
{
int rgb = image.getRGB(i,j);
Color c = new Color(rgb);
float[] hsb = Color.RGBtoHSB(c.getRed(),c.getGreen(),c.getBlue(),null);
float saturation = hsb[1];
float brightness = hsb[2];
g.setColor(Color.getHSBColor(hue,saturation,brightness));
g.drawRect(i,j,1,1);
}
g.dispose();
return buffImg;
}
}
Colorisation en vert : gus.image.transform.rendered.color.hue.green
- Code:
package gus05.entity.gus.image.transform.rendered.color.hue.green;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import gus05.framework.core.Entity;
import gus05.framework.core.Outside;
import gus05.framework.core.Service;
import gus05.framework.features.Transform;
public class ImageColorHueGreen implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.color.hue.green";}
public String getCreationDate() {return "2011.07.07";}
public static final Color COLOR = Color.GREEN;
private float hue;
private Service toBufferedImage;
public ImageColorHueGreen() throws Exception
{
toBufferedImage = Outside.service(this,"gus.image.convert.tobufferedimage");
float[] hsb = Color.RGBtoHSB(COLOR.getRed(),COLOR.getGreen(),COLOR.getBlue(),null);
hue = hsb[0];
}
public Object transform(Object obj) throws Exception
{
BufferedImage image = (BufferedImage) toBufferedImage.transform(obj);
int width = image.getWidth();
int heigth = image.getHeight();
BufferedImage buffImg = new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB);
Graphics2D g = buffImg.createGraphics();
for(int i=0;i<width;i++) for(int j=0;j<heigth;j++)
{
int rgb = image.getRGB(i,j);
Color c = new Color(rgb);
float[] hsb = Color.RGBtoHSB(c.getRed(),c.getGreen(),c.getBlue(),null);
float saturation = hsb[1];
float brightness = hsb[2];
g.setColor(Color.getHSBColor(hue,saturation,brightness));
g.drawRect(i,j,1,1);
}
g.dispose();
return buffImg;
}
}
Colorisation en orange : gus.image.transform.rendered.color.hue.orange
- Code:
package gus05.entity.gus.image.transform.rendered.color.hue.orange;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import gus05.framework.core.Entity;
import gus05.framework.core.Outside;
import gus05.framework.core.Service;
import gus05.framework.features.Transform;
public class ImageColorHueOrange implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.color.hue.orange";}
public String getCreationDate() {return "2011.07.07";}
public static final Color COLOR = Color.ORANGE;
private float hue;
private Service toBufferedImage;
public ImageColorHueOrange() throws Exception
{
toBufferedImage = Outside.service(this,"gus.image.convert.tobufferedimage");
float[] hsb = Color.RGBtoHSB(COLOR.getRed(),COLOR.getGreen(),COLOR.getBlue(),null);
hue = hsb[0];
}
public Object transform(Object obj) throws Exception
{
BufferedImage image = (BufferedImage) toBufferedImage.transform(obj);
int width = image.getWidth();
int heigth = image.getHeight();
BufferedImage buffImg = new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB);
Graphics2D g = buffImg.createGraphics();
for(int i=0;i<width;i++) for(int j=0;j<heigth;j++)
{
int rgb = image.getRGB(i,j);
Color c = new Color(rgb);
float[] hsb = Color.RGBtoHSB(c.getRed(),c.getGreen(),c.getBlue(),null);
float saturation = hsb[1];
float brightness = hsb[2];
g.setColor(Color.getHSBColor(hue,saturation,brightness));
g.drawRect(i,j,1,1);
}
g.dispose();
return buffImg;
}
}
Colorisation en rouge : gus.image.transform.rendered.color.hue.red
- Code:
package gus05.entity.gus.image.transform.rendered.color.hue.red;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import gus05.framework.core.Entity;
import gus05.framework.core.Outside;
import gus05.framework.core.Service;
import gus05.framework.features.Transform;
public class ImageColorHueRed implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.color.hue.red";}
public String getCreationDate() {return "2011.07.07";}
public static final Color COLOR = Color.RED;
private float hue;
private Service toBufferedImage;
public ImageColorHueRed() throws Exception
{
toBufferedImage = Outside.service(this,"gus.image.convert.tobufferedimage");
float[] hsb = Color.RGBtoHSB(COLOR.getRed(),COLOR.getGreen(),COLOR.getBlue(),null);
hue = hsb[0];
}
public Object transform(Object obj) throws Exception
{
BufferedImage image = (BufferedImage) toBufferedImage.transform(obj);
int width = image.getWidth();
int heigth = image.getHeight();
BufferedImage buffImg = new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB);
Graphics2D g = buffImg.createGraphics();
for(int i=0;i<width;i++) for(int j=0;j<heigth;j++)
{
int rgb = image.getRGB(i,j);
Color c = new Color(rgb);
float[] hsb = Color.RGBtoHSB(c.getRed(),c.getGreen(),c.getBlue(),null);
float saturation = hsb[1];
float brightness = hsb[2];
g.setColor(Color.getHSBColor(hue,saturation,brightness));
g.drawRect(i,j,1,1);
}
g.dispose();
return buffImg;
}
}
Colorisation en jaune: gus.image.transform.rendered.color.hue.yellow
- Code:
package gus05.entity.gus.image.transform.rendered.color.hue.yellow;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import gus05.framework.core.Entity;
import gus05.framework.core.Outside;
import gus05.framework.core.Service;
import gus05.framework.features.Transform;
public class ImageColorHueYellow implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.color.hue.yellow";}
public String getCreationDate() {return "2011.07.07";}
public static final Color COLOR = Color.YELLOW;
private float hue;
private Service toBufferedImage;
public ImageColorHueYellow() throws Exception
{
toBufferedImage = Outside.service(this,"gus.image.convert.tobufferedimage");
float[] hsb = Color.RGBtoHSB(COLOR.getRed(),COLOR.getGreen(),COLOR.getBlue(),null);
hue = hsb[0];
}
public Object transform(Object obj) throws Exception
{
BufferedImage image = (BufferedImage) toBufferedImage.transform(obj);
int width = image.getWidth();
int heigth = image.getHeight();
BufferedImage buffImg = new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB);
Graphics2D g = buffImg.createGraphics();
for(int i=0;i<width;i++) for(int j=0;j<heigth;j++)
{
int rgb = image.getRGB(i,j);
Color c = new Color(rgb);
float[] hsb = Color.RGBtoHSB(c.getRed(),c.getGreen(),c.getBlue(),null);
float saturation = hsb[1];
float brightness = hsb[2];
g.setColor(Color.getHSBColor(hue,saturation,brightness));
g.drawRect(i,j,1,1);
}
g.dispose();
return buffImg;
}
}
Colorisation en magenta : gus.image.transform.rendered.color.hue.magenta
- Code:
package gus05.entity.gus.image.transform.rendered.color.hue.magenta;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import gus05.framework.core.Entity;
import gus05.framework.core.Outside;
import gus05.framework.core.Service;
import gus05.framework.features.Transform;
public class ImageColorHueMagenta implements Entity, Transform {
public String getName() {return "gus.image.transform.rendered.color.hue.magenta";}
public String getCreationDate() {return "2011.07.07";}
public static final Color COLOR = Color.MAGENTA;
private float hue;
private Service toBufferedImage;
public ImageColorHueMagenta() throws Exception
{
toBufferedImage = Outside.service(this,"gus.image.convert.tobufferedimage");
float[] hsb = Color.RGBtoHSB(COLOR.getRed(),COLOR.getGreen(),COLOR.getBlue(),null);
hue = hsb[0];
}
public Object transform(Object obj) throws Exception
{
BufferedImage image = (BufferedImage) toBufferedImage.transform(obj);
int width = image.getWidth();
int heigth = image.getHeight();
BufferedImage buffImg = new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB);
Graphics2D g = buffImg.createGraphics();
for(int i=0;i<width;i++) for(int j=0;j<heigth;j++)
{
int rgb = image.getRGB(i,j);
Color c = new Color(rgb);
float[] hsb = Color.RGBtoHSB(c.getRed(),c.getGreen(),c.getBlue(),null);
float saturation = hsb[1];
float brightness = hsb[2];
g.setColor(Color.getHSBColor(hue,saturation,brightness));
g.drawRect(i,j,1,1);
}
g.dispose();
return buffImg;
}
}
Sujets similaires
» Transposition d'images
» Flouter les images
» Réduire les couleurs des images
» Créer un PDF à partir d'images
» Quelques effets esthétiques sur les images
» Flouter les images
» Réduire les couleurs des images
» Créer un PDF à partir d'images
» Quelques effets esthétiques sur les images
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