Procesando Imagenes
Descripción
Las imágenes pueden ser procesadas en función de lo que uno necesita lograr. Existen acciones que son simples escalaciones en que se agrandan o achican las imágenes. Otras acciones involucran cambiar el contenido como seria pasar la a blanco y negro, cambiar el balance de los colores o el contraste. Toda acción genera una imagen distinta que para nuestro ojo puede ser mas clara o mas bella. Sin embargo ninguno de estos procesos es capaz de recuperar información que no esta contenida en la foto original. Por ello, si una imagen esta desenfocada, no es posible posteriormente enfocarla a menos que deliberadamente agreguemos información.
ID:(377, 0)
Cambiando Colores
Descripción
Una serie de transformaciones se realizan trabajando con las componentes rojas (R), verdes (G) y azules (B) que se pueden determinar para cada pixel. Si los tres valor del pixel es cambiado por el valor promedio de los tres\\
$\displaystyle\frac{1}{3}(R + G + B)$
se obtiene una version blanco y negro de la imagen.
Cada factor del código RGB tiene números entre 0 y 255. Si se escalan los tres números por el mismo factor y se remplazan todos aquellos que superan la cota superior 255 por dicho valor, se modifica el brillo de la imagen.
ID:(1245, 0)
Ejemplo Procesar imagen
Descripción
Ejemplo de como se puede escalar y adecuar una imagen:
```
BufferedImage resizedImage = new BufferedImage(IMG_WIDTH, IMG_HEIGHT, type);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, IMG_WIDTH, IMG_HEIGHT, null);
g.dispose();
g.setComposite(AlphaComposite.Src);
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.setRenderingHint(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
```
ID:(8829, 0)