package AA_personalizando_entregable; /** * * @author ASUS54 */ public class Imagen { private String cabecera; private String comentario; private int altura; private int anchura; private int blancoMax; private int[][] pixel; public String getCabecera() { return cabecera; } public void setCabecera(String cabecera) { this.cabecera = cabecera; } public String getComentario() { return comentario; } public void setComentario(String comentario) { this.comentario = comentario; } public int getAltura() { return altura; } public void setAltura(int altura) { this.altura = altura; } public int getAnchura() { return anchura; } public void setAnchura(int anchura) { this.anchura = anchura; } public int getBlancoMax() { return blancoMax; } public void setBlancoMax(int blancoMax) { this.blancoMax = blancoMax; } public int[][] getPixel() { return pixel; } public void setPixel(int[][] pixel) { this.pixel = pixel; } public void filtroCaja() { for (int i = 0; i < anchura; ++i) { for (int j = 0; j < altura; ++j) { pixel[i][j] = (int) Math.round(pixel[i][j] / (double) blancoMax * 255.0); } } int[][] newPixeles = new int[anchura][altura]; for (int i = 0; i < anchura; ++i) { for (int j = 0; j < altura; ++j) { if (i == 0 && j == 0) { newPixeles[i][j] = (pixel[0][0] + pixel[0][1] + pixel[1][0] + pixel[1][1]) / 4; } else if (i == 0 && j == altura - 1) { newPixeles[i][j] = (pixel[0][altura - 1] + pixel[0][altura - 2] + pixel[1][altura - 2] + pixel[1][altura - 1]) / 4; } else if (i == anchura - 1 && j == 0) { newPixeles[i][j] = (pixel[anchura - 1][0] + pixel[anchura - 1][1] + pixel[anchura - 2][0] + pixel[anchura - 2][1]) / 4; } else if (i == anchura - 1 && j == altura - 1) { newPixeles[i][j] = (pixel[anchura - 1][altura - 1] + pixel[anchura - 1][altura - 2] + pixel[anchura - 2][altura - 1] + pixel[anchura - 2][altura - 2]) / 4; } else if (i == 0) { newPixeles[i][j] = (pixel[i][j - 1] + pixel[i][j] + pixel[i][j + 1] + pixel[i + 1][j - 1] + pixel[i + 1][j] + pixel[i + 1][j + 1]) / 6; } else if (i == anchura - 1) { newPixeles[i][j] = (pixel[i][j - 1] + pixel[i][j] + pixel[i][j + 1] + pixel[i - 1][j - 1] + pixel[i - 1][j] + pixel[i - 1][j + 1]) / 6; } else if (j == 0) { newPixeles[i][j] = (pixel[i - 1][j] + pixel[i][j] + pixel[i + 1][j] + pixel[i - 1][j + 1] + pixel[i][j + 1] + pixel[i + 1][j + 1]) / 6; } else if (j == altura - 1) { newPixeles[i][j] = (pixel[i - 1][j] + pixel[i][j] + pixel[i + 1][j] + pixel[i - 1][j - 1] + pixel[i][j - 1] + pixel[i + 1][j - 1]) / 6; } else { newPixeles[i][j] = (pixel[i + 1][j - 1] + pixel[i + 1][j] + pixel[i + 1][j + 1] + pixel[i][j - 1] + pixel[i][j] + pixel[i][j + 1] + pixel[i - 1][j - 1] + pixel[i - 1][j] + pixel[i - 1][j + 1]) / 9; } } } pixel = newPixeles; blancoMax = 255; } }