09.05.2013 Views

Jonathan Emmanuel Flores Tarello - FI-UAEMex

Jonathan Emmanuel Flores Tarello - FI-UAEMex

Jonathan Emmanuel Flores Tarello - FI-UAEMex

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

INTRODUCCIÓN<br />

JANPhotoEditor es una herramienta de trabajo cuyo objetivo es la aplicación<br />

de diversas técnicas para la investigación, análisis y el tratamiento de las<br />

imágenes.<br />

Este software ha sido programado en JAVA bajo una plataforma WINDOWS XP,<br />

con la incorporación de una librería gráfica como JAI.<br />

En la actualidad existen una gran cantidad de áreas de investigación. Una de<br />

ellas es el análisis y procesamiento de imágenes, cuyos beneficios tecnológicos<br />

impactan de gran manera en el mundo.<br />

Debido a ello, JANPhotoEditor es una opción en la búsqueda por perfeccionar<br />

los resultados basados en técnicas y procedimientos del estudio de una imagen<br />

por computadora.<br />

¿PORQUE JAVA?<br />

La programación ha tenido un alto desarrollo en los últimos años, creando<br />

librerías y lenguajes más potentes para obtener resultados deseados, sin<br />

embargo JAVA ha repuntado como un descendiente directo de C y C++, lo que<br />

lo hace un lenguaje poderoso orientado a objetos.<br />

Existen diversas razones que me llevaron a programar en JAVA:<br />

a) Facilidad de programación:<br />

a. Más aun de ser sencillo de programar, existen entornos de<br />

desarrollo que aún simplifican más la tarea cuando al hablar de<br />

gráficos se trata.<br />

NetBeans 6.0 me permitió desarrollar JANPhotoEditor, cuenta con<br />

la peculiaridad de interacción con el usuario para implementar las<br />

interfaces de aplicación.<br />

b) Lenguaje extensible:<br />

a. Permite la incorporación de librerías y otras mejoras que pueden<br />

encontrarse en la página de sun, o que incluso nosotros mismos<br />

podemos crear.<br />

b. De este concepto surge la implementación de JAI como gran pilar<br />

del desarrollo de JANPhotoEditor.


¿PORQUÉ JAI?<br />

Jai es un API desarrollado en JAVA que nos permite la implementación de<br />

técnicas gráficas a un programa determinado.<br />

Aunque diversos API´s han sido creados, ninguno resultó ser lo suficientemente<br />

exitoso como para explotarlo de mejor forma, sin embargo JAI cambió la<br />

historia al contar con características tan importantes:<br />

a) Multiplataforma<br />

b) Orientado a objetos<br />

c) Independiente<br />

d) Poderoso<br />

e) Flexible<br />

f) Extensible<br />

g) Alto rendimiento<br />

Más aún de sus características que hablan por si solas, al complementar JAI con<br />

todo el entorno de programación, resultó muy conveniente el ver que simplifica<br />

en demasía la implementación de las funciones para tratar una imagen.<br />

De esta manera es JAI sin duda una opción altamente viable para encontrar<br />

respuestas al desarrollo en el análisis de imágenes.<br />

Información adicional:<br />

http://java.sun.com/products/java-media/jai/<br />

FUNCIONES UTILIZADAS EN JANPhotoEditor<br />

Todas las funciones van enfocadas exclusivamente a imágenes<br />

1. Abrir y guardar<br />

2. Escalar<br />

3. Recortar<br />

4. Rotar<br />

5. Invertir<br />

6. Desplazar<br />

7. Conversión a grises<br />

8. Binarizar<br />

9. Brillo<br />

10. Contraste<br />

11. Función exponencial y logarítmica<br />

12. Máximo y mínimo de dos imágenes<br />

13. Operaciones lógicas ( and, sub, add, mul, or, xor, not, div)<br />

14. Operaciones morfológicas (erosión, dilatación)<br />

15. Shear<br />

16. Histograma<br />

17. Filtros (Blur, Paso Alto, Detección de bordes)<br />

18. Información de Imagen


UNA VISTA RÁPIDA A JANPhotoEditor<br />

Al abrir el programa aparecerá la página de presentación:<br />

Nombre:<br />

JANPhotoEditor<br />

Versión:<br />

1.0<br />

Creador:<br />

<strong>Jonathan</strong> E. <strong>Flores</strong> <strong>Tarello</strong><br />

Al dar clic sobre cualquier parte de la pantalla de presentación se mostrará la<br />

aplicación principal:


AREA DE MENUS<br />

ARCHIVO<br />

1) Abrir Archivo<br />

2) Guardar Archivo<br />

EDICION<br />

1) Deshacer<br />

2) Crop<br />

3) Escalar imagen mayor y menor<br />

IMAGEN<br />

1) Transformaciones<br />

a. Rotar imagen<br />

i. Rotar 90 -><br />

ii. Rotar 90 <br />

iv. Rotar diagonal


VER<br />

5) Morfológicas<br />

a. Erosión<br />

b. Dilatar<br />

6) Aumentar Brillo<br />

7) Exponencial<br />

8) Logarítmica<br />

9) Máximo<br />

10) Mínimo<br />

11) Shear<br />

1) Histograma<br />

2) Información de la imagen<br />

3) Imagen completa<br />

AYUDA<br />

1) Acerca de<br />

AREA DE HERRAMIENTAS<br />

Existen diversos paneles de herramientas donde usted podrá tener un acceso<br />

más rápido a las funciones que JANPhotoEditor provee:<br />

Panel Translation<br />

Panel Basics<br />

Panel Scale


Panel Filters<br />

Panel Logical


ARCHIVO<br />

Abriendo y Guardando Imágenes<br />

Una imagen es un arreglo de píxeles, en nuestro caso datos o valores que<br />

deben adquirirse, transformarse y almacenarse para que tengan sentido.<br />

Las imágenes de color son arreglos tridimensionales, donde cada dimensión del<br />

arreglo representa un canal.<br />

Una imagen en escala de grises solamente tiene un canal o banda, sin embargo<br />

existen otras a color que pueden contener mas de 3 canales.<br />

Cada muestra puede representarse con los códigos de color que hemos<br />

discutido en el curso de Tratamiento de Imágenes (RGB – red, green, blue),<br />

(CMY - cyan, magenta, yellow), (CMYK – cyan, magenta, yellow, black), etc.<br />

JANPhotoEditor cuenta con la función de abrir y guardar imágenes que pueden<br />

o no haber sido modificadas en el software.<br />

Es importante comentar que las imágenes se guardan en formatos distintos,<br />

que fueron creados para la compresión y/o identificación de ellas mismas.<br />

Cada imagen contiene una gran cantidad de datos numéricos y alfanuméricos,<br />

sin embargo JANPhotoEditor permite la interacción con los formatos más<br />

utilizados actualmente por el medio, al adquirir esa información en un raster o<br />

agrupación de elementos de imagen, que posteriormente puede o no ser<br />

manipulado para la generación de nuevas imágenes.<br />

ABRIR UNA IMAGEN<br />

Formatos permitidos ( JPEG, BMP, TIFF, PNG, GIF, PNM )<br />

Para abrir una imagen:<br />

Archivo > Abrir o bien Ctrl.+ A


Posteriormente se abrirá una ventana para seleccionar un archivo, en este caso<br />

a partir del path determinado (C:/imagenes)<br />

Podemos elegir una imagen siempre y cuando el formato sea compatible como<br />

se mencionó anteriormente. Una vez seleccionada alguna solo debemos<br />

presionar el botón ABRIR para que nuestra imagen sea desplegada en el área<br />

predeterminada.


GUARDAR UNA IMAGEN<br />

Formatos permitidos ( JPEG, BMP, TIFF, PNG, PNM )<br />

Para guardar una imagen:<br />

Si nosotros queremos guardar alguna imagen que hayamos modificado en<br />

JANPhotoEditor, tendremos que seguir el siguiente procedimiento, que resulta<br />

prácticamente inverso a la función abrir.


Archivo > Guardar o bien Ctrl.+ G<br />

a) Posteriormente se abrirá una ventana para seleccionar la carpeta<br />

y teclear el nombre de nuestra nueva imagen. Debemos colocar el<br />

nombre seguido de un punto y la extensión de nuestro nuevo<br />

archivo. Posteriormente solo hacemos clic en el botón de guardar<br />

de la ventana.


EDICIÓN<br />

Función deshacer<br />

JANPhotoEditor tiene la opción de deshacer, donde al elegirla se podrá<br />

recuperar la imagen anterior a la imagen actual, función necesaria para<br />

recuperar algún cambio no deseado.<br />

Función crop<br />

La función CROP nos permitirá recortar un área determinada de la imagen<br />

activa.<br />

Para realizar esta acción debemos seleccionar el área que queremos obtener,<br />

esto lo haremos con el Mouse presionando sin soltar desde el punto inicial<br />

hasta el punto final.<br />

Una vez seleccionada el área de interés tenemos dos opciones:<br />

A.- Desde el panel de herramientas SCALE > botón CROP<br />

B.- Menu edición > CROP<br />

Posteriormente la nueva imagen se desplegará en pantalla


Función escalar<br />

El objetivo de la función ESCALAR es tomar una imagen original y modificar el<br />

tamaño real a uno nuevo.


Para escalar una imagen tenemos dos opciones:<br />

1.- Desde el menú Edición > escalar mayor<br />

Aumenta el tamaño de la imagen en un factor constante<br />

2.- Desde el menú Edición > escalar menor<br />

Reduce el tamaño de la imagen en un factor constante<br />

3.- Desde el panel de herramientas SCALE ><br />

Colocamos el factor de escala en porcentaje de 0 a n, donde 0 es para<br />

reducir la imagen a su máximo y 100 es aumentarla al doble.<br />

Después de teclear el valor de escala solamente presionamos el botón<br />

ESCALAR.


IMAGEN<br />

Rotar imagen 90 o<br />

Si queremos rotar una imagen a 90 o tenemos la opción de hacerlo a la derecha<br />

o a la izquierda.<br />

Son dos procedimientos para poder ejecutar esta función:<br />

1.- Menú Imagen > Transformaciones > Rotar imagen > Rotar 90 -><br />

2.- Menú Imagen > Transformaciones > Rotar imagen > Rotar 90 botón<br />

Una vez ejecutada esta función, la imagen sufrirá una rotación de 90 o en<br />

sentido a favor o contra del reloj, de tal forma que si presionamos 4 veces al<br />

mismo sentido, volverá a su posición original.


Rotar imagen 90 o<br />

Si queremos rotar una imagen a 90 o tenemos la opción de hacerlo a la derecha<br />

o a la izquierda.<br />

Procedimientos para poder ejecutar esta función:<br />

Opcion a)<br />

Menú Imagen > Transformaciones > Rotar imagen > Rotar 90 -><br />

Menú Imagen > Transformaciones > Rotar imagen > Rotar 90 botón<br />

Una vez ejecutada esta función, la imagen sufrirá una rotación de 90 o en<br />

sentido a favor o contra del reloj, de tal forma que si presionamos 4 veces al<br />

mismo sentido, volverá a su posición original.


Giro de 90, 180, 270 y 360 grados.<br />

Rotar diagonal<br />

Si queremos rotar una imagen a 45 o tenemos la opción de hacerlo a la derecha<br />

o a la izquierda.<br />

Procedimientos para poder ejecutar esta función:<br />

Opcion a)<br />

Menú Imagen > Transformaciones > Rotar imagen > Rotar diagonal -><br />

Menú Imagen > Transformaciones > Rotar imagen > Rotar diagonal botón<br />

Una vez ejecutada esta función, la imagen sufrirá una rotación de 90 o en<br />

sentido a favor o contra del reloj, de tal forma que si presionamos 4 veces al<br />

mismo sentido, volverá a su posición original.


Arriba: 45 grados derecha<br />

Abajo: 45 grados izquierda<br />

Espejo Horizontal y Vertical<br />

Si queremos rotar una imagen a 45 o tenemos la opción de hacerlo a la derecha<br />

o a la izquierda.<br />

Pprocedimientos para poder ejecutar esta función:<br />

Opcion a)<br />

Menú Imagen > Transformaciones > Rotar imagen > Espejo Horizontal<br />

Menú Imagen > Transformaciones > Rotar imagen > Espejo Vertical<br />

Opcion b)<br />

Desde el panel de herramientas Translation > botón


La función es llamada de espejo por la ilusión de resultado generado, en la cual<br />

la nueva imagen es “reflejada” respecto la original ya sea de manera horizontal<br />

o vertical.<br />

A la izquierda la imagen original.<br />

Arriba – derecha: el espejo horizontal<br />

Abajo – derecha: el espejo vertical<br />

Desplazamientos en pantalla<br />

Si queremos rotar una imagen a 45 o tenemos la opción de hacerlo a la derecha<br />

o a la izquierda.<br />

Procedimientos para poder ejecutar esta función:<br />

Opcion a)<br />

Menú Imagen > Transformaciones > Desplazamientos > D. izquierda<br />

Menú Imagen > Transformaciones > Desplazamientos > D. derecha<br />

Menú Imagen > Transformaciones > Desplazamientos > D. arriba<br />

Menú Imagen > Transformaciones > Desplazamientos > D. abajo<br />

Opcion b)<br />

Ctrl. + Flecha deseada


Opcion c)<br />

Desde el panel de herramientas Translation > botón<br />

La función desplazamiento permite mover nuestra imagen en el plano de<br />

despliegue en cualquier dirección.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!