Escolar Documentos
Profissional Documentos
Cultura Documentos
} bmp = ImageIO.read(imagenSeleccionada);
return imageReal; }
} }
} imageReal = ProcesamientoImagen.clone(bmp);
//System.out.print("color SRGB es : }
"+mediaPixel); }
imageActual.setRGB(i, j, colorSRGB); return imageActual;
} }
} public BufferedImage operadorUmbralNegativo() {
//Retornamos la imagen for (int i = 0; i < imageActual.getWidth(); i++) {
return imageActual; for (int j = 0; j < imageActual.getHeight(); j++) {
} color = new Color(imageActual.getRGB(i, j));
////////Operadores //se extraen los valores RGB
public BufferedImage operadorNegativo() { r = color.getRed();
for (int i = 0; i < imageActual.getWidth(); i++) { g = color.getGreen();
for (int j = 0; j < imageActual.getHeight(); j++) { b = color.getBlue();
color = new Color(imageActual.getRGB(i, j));
//se extraen los valores RGB r = (r > umbral) ? 0 : 255;
r = 255 - color.getRed(); g = (g > umbral) ? 0 : 255;
g = 255 - color.getGreen(); b = (b > umbral) ? 0 : 255;
b = 255 - color.getBlue(); imageActual.setRGB(i, j, validaRGB(r, g,
imageActual.setRGB(i, j, validaRGB(r, g, b).getRGB());
b).getRGB()); }
} }
} return imageActual;
return imageActual; }
} public BufferedImage
public BufferedImage operadorUmbral() { operadorIntervaloUmbralBinario(int l1, int l2) {
for (int i = 0; i < imageActual.getWidth(); i++) { for (int i = 0; i < imageActual.getWidth(); i++) {
for (int j = 0; j < imageActual.getHeight(); j++) { color = new Color(imageActual.getRGB(i, j));
color = new Color(imageActual.getRGB(i, j)); //se extraen los valores RGB
//se extraen los valores RGB r = color.getRed();
r = color.getRed(); g = color.getGreen();
g = color.getGreen(); b = color.getBlue();
b = color.getBlue(); r = (r > l1 && r < l2) ? 255 - r : 255;
r = (r > l1 && r < l2) ? 0 : 255; g = (g > l1 && g < l2) ? 255 - g : 255;
g = (g > l1 && g < l2) ? 0 : 255; b = (b > l1 && b < l2) ? 255 - b : 255;
b = (b > l1 && b < l2) ? 0 : 255; imageActual.setRGB(i, j, validaRGB(r, g,
b).getRGB());
imageActual.setRGB(i, j, validaRGB(r, g,
b).getRGB()); }
} }
} return imageActual;
return imageActual; }
} public BufferedImage
operadorUmbralEscalaGrises(int l1, int l2) {
public BufferedImage
operadorIntervaloUmbralBinarioNegativo(int l1, int l2) for (int i = 0; i < imageActual.getWidth(); i++) {
{
for (int j = 0; j < imageActual.getHeight(); j++) {
for (int i = 0; i < imageActual.getWidth(); i++) {
color = new Color(imageActual.getRGB(i, j));
for (int j = 0; j < imageActual.getHeight(); j++) {
//se extraen los valores RGB
color = new Color(imageActual.getRGB(i, j));
r = color.getRed();
//se extraen los valores RGB
g = color.getGreen();
r = color.getRed();
b = color.getBlue();
g = color.getGreen();
r = (r > l1 && r < l2) ? r : 255;
b = color.getBlue();
g = (g > l1 && g < l2) ? g : 255;
r = (r > l1 && r < l2) ? 255 : 0;
b = (b > l1 && b < l2) ? b : 255;
g = (g > l1 && g < l2) ? 255 : 0;
imageActual.setRGB(i, j, validaRGB(r, g,
b = (b > l1 && b < l2) ? 255 : 0; b).getRGB());
imageActual.setRGB(i, j, validaRGB(r, g, }
b).getRGB());
}
}
return imageActual;
}
}
return imageActual;
public BufferedImage operadorExtension(int l1, int
} l2) {
public BufferedImage for (int i = 0; i < imageActual.getWidth(); i++) {
operadorUmbralEscalaGrisesInvertido(int l1, int l2) {
for (int j = 0; j < imageActual.getHeight(); j++) {
for (int i = 0; i < imageActual.getWidth(); i++) {
color = new Color(imageActual.getRGB(i, j));
for (int j = 0; j < imageActual.getHeight(); j++) {
//se extraen los valores RGB mediaPixel = 100;
r = color.getRed(); } else if (mediaPixel > 100 && mediaPixel <=
180) {
g = color.getGreen();
mediaPixel = 200;
b = color.getBlue();
} else {
r = (r > l1 && r < l2) ? (r - l1) * 255 / (l2 - l1) :
0; mediaPixel = 255;
g = (g > l1 && g < l2) ? (g - l1) * 255 / (l2 - l1) : }
0;
colorSRGB = (mediaPixel << 16) | (mediaPixel
b = (b > l1 && b < l2) ? (b - l1) * 255 / (l2 - l1) : << 8) | mediaPixel;
0;
imageActual.setRGB(i, j, colorSRGB);
imageActual.setRGB(i, j, validaRGB(r, g,
b).getRGB()); }
} }
return imageActual;
}
return imageActual; }
} /////Filtros
for (int i = 0; i < imageActual.getWidth(); i++) { for (int j = 0; j < imageActual.getHeight(); j++) {
color = new Color(imageActual.getRGB(i, j));
for (int j = 0; j < imageActual.getHeight(); j++) {
//Trabajando con el promedio para //se extraen los valores RGB
simplificar r = color.getRed();
colorAux = new g = color.getGreen();
Color(this.imageActual.getRGB(i, j));
b = color.getBlue();
mediaPixel = (int) ((colorAux.getRed() +
colorAux.getGreen() + colorAux.getBlue()) / 3); r = (int) (q * Math.pow((r / q), gamma));
*/ return imageActual;
} }
} g = (int) (q * (1 - Math.cos(Math.PI * g / (2 *
q))));
}
b = (int) (q * (1 - Math.cos(Math.PI * b / (2 *
return imageActual; q))));
} imageActual.setRGB(i, j, validaRGB(r, g,
public BufferedImage filtroExponencial(int q, double b).getRGB());
alfa) { }
} r = (r >= l1 && r <= l2) ? (int) (q * (r - l1) / (l2 -
l1)) : r;
return imageActual;
g = (g >= l1 && g <= l2) ? (int) (q * (g - l1) / (l2
} - l1)) : g;
public BufferedImage filtroObsExponencial(int q, b = (b >= l1 && b <= l2) ? (int) (q * (b - l1) / (l2
double alfa) { - l1)) : b;
for (int i = 0; i < imageActual.getWidth(); i++) { imageActual.setRGB(i, j, validaRGB(r, g,
for (int j = 0; j < imageActual.getHeight(); j++) { b).getRGB());
g = color.getGreen(); }
b = color.getBlue(); /////Histograma