Jonathan Emmanuel Flores Tarello - FI-UAEMex
Jonathan Emmanuel Flores Tarello - FI-UAEMex
Jonathan Emmanuel Flores Tarello - FI-UAEMex
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.