Jonathan Emmanuel Flores Tarello - FI-UAEMex

Jonathan Emmanuel Flores Tarello - FI-UAEMex Jonathan Emmanuel Flores Tarello - FI-UAEMex

09.05.2013 Views

INTRODUCCIÓN JANPhotoEditor es una herramienta de trabajo cuyo objetivo es la aplicación de diversas técnicas para la investigación, análisis y el tratamiento de las imágenes. Este software ha sido programado en JAVA bajo una plataforma WINDOWS XP, con la incorporación de una librería gráfica como JAI. En la actualidad existen una gran cantidad de áreas de investigación. Una de ellas es el análisis y procesamiento de imágenes, cuyos beneficios tecnológicos impactan de gran manera en el mundo. Debido a ello, JANPhotoEditor es una opción en la búsqueda por perfeccionar los resultados basados en técnicas y procedimientos del estudio de una imagen por computadora. ¿PORQUE JAVA? La programación ha tenido un alto desarrollo en los últimos años, creando librerías y lenguajes más potentes para obtener resultados deseados, sin embargo JAVA ha repuntado como un descendiente directo de C y C++, lo que lo hace un lenguaje poderoso orientado a objetos. Existen diversas razones que me llevaron a programar en JAVA: a) Facilidad de programación: a. Más aun de ser sencillo de programar, existen entornos de desarrollo que aún simplifican más la tarea cuando al hablar de gráficos se trata. NetBeans 6.0 me permitió desarrollar JANPhotoEditor, cuenta con la peculiaridad de interacción con el usuario para implementar las interfaces de aplicación. b) Lenguaje extensible: a. Permite la incorporación de librerías y otras mejoras que pueden encontrarse en la página de sun, o que incluso nosotros mismos podemos crear. b. De este concepto surge la implementación de JAI como gran pilar del desarrollo de JANPhotoEditor.

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!