miércoles, mayo 14, 2008

Procesamiento digital de imágenes en GNU/Linux (2)

Para manipular las imágenes hay que cargarlas en el ambiente de trabajo que se desea usar.

Como mencioné en otra entrada, se puede hacer procesamiento digital de imágenes en octave, previa instalación de gnuplot e ImageMagick y después de haber instalado en octave el paquete Image de octave-forge.

Entonces para cargar una imagen y almacenarlar en una matriz en octave, se hace uso del mismo comando que en matlab:

octave> imagen=imread('imagen.formato')

En donde imagen, es el nombre de la imagen a cargar y el formato es la extensión del tipo de imagen a cargar, es decir, hay que poner el nombre completo de la imagen a cargar.

Por ejemplo, si se tiene una imagen llamada arroz.jpg en su directorio de trabajo, para cargar la imagen en una matriz llamada imagen_prueba, se escribe:

octave> imagen_prueba=imread('arroz.jpg')

Lo cual permite cargar los tres canales de color de la imagen en la matriz imagen_prueba.

Suponiendo una imagen de 40 x 40 pixeles , al pedir el tamaño de la matriz con el comando size, devuelve algo como:

octave> size(imagen_prueba)
40 40 3

Y si se desea visualizar la imagen, se hace con el comando imagesc (se puede usar también el comando imshow).

octave> imagesc(imagen_prueba) % despliega imagen_prueba

Como es una matriz, solo hay que aplicarle la teoría de procesamiento digitial de imágenes.

Por último, para trabajar la imagen en tonos de gris, se puede hacer con el comando rgb2gray, que genera una nueva imagen guardada en una matriz de dos dimensiones que solo tiene valores enteros entre 0 y 255.

octave>imagen_grises=rgb2gray(imagen_prueba)

En cualquier caso, para saber más sobre los comandos solo hay que teclear

octave > help imread
octave > help imagesc
octave > help size
octave > help imshow
octave > help rgb2gray
octave > help colormap

sábado, mayo 03, 2008

minitips: Algunas cosas útiles

Capturando pantallas

Al estar trabajando con octave para hacer tratamiento digital a imágenes, tuve la necesidad de capturar los resultados, y como estoy trabajando en Xubuntu, la tecla "imprimir pantalla" no funcionó.

Pero como instalado Image Magick, hice uso de los comandos que provee para lograr capturar la pantalla.

Para capturar toda la pantalla se puede lograr con:

>$ import -window root captura.jpg

Es conveniente poner un retardo (por ejemplo usar el comando sleep), para habilitar la ventana a capturar, tal cual el comando, capturará todo lo visible en e la pantalla después del enter.

Ahora que si solo se desea capturar una ventana de interés, se puede usar el comando import de la siguiente forma:

>$ import h ruta/donde/dejar/imagen.jpg

Que habilitará al cursor para elegir la ventana y la guradará en la ruta especificada; con este método los marcos de la ventana desaparecen, solo guarda el contenido de la ventana.

IDE's para trabajar con PHP

Andando por aquí y por allá, encontré algunas recomendaciones para trabajar con PHP:

  • quanta plus
  • bluefish editor
  • kompozer
  • trustudio
  • nuv
  • cssed
  • komodo
  • gPHPEdit
  • Screem
De todos ellos he probado algunos muy someramente, y el que me gustó más fue gPHPEdit, que me pareció bastante práctico.

viernes, mayo 02, 2008

Procesamiento digital de imágenes en GNU/Linux (1)

Comenzando

Para realizar procesamiento digital de imágenes básico; se puede trabajar desde octave, gnuplot y el paquete de tratamiento de imágenes de octave-forge. Herramientas mínimas necesarias para hacer (hasta donde yo he visto), lo mismo que se haría en Matlab.

Así que primero hay que instalarlos, y para ello solo es cuestión de, para los primeros dos, utilizar su gestor de paquetes favorito.

Ahora que si se desea instalar octave desde el código fuente, ya sea porque siempre se quiere lo último, o porque se requiera hacer uso de una función que solo está en la última versión, es necesario contar con todo lo necesario para hacer binarios (en el caso de Ubuntu, es necesario instalar buil-essential); tener g77, y varias bibliotecas de procesamiento numérico, bibliotecas para manipular archivos comprimidos; además de las herramientas para trabajar con latex, por si se desea compilar también la documentación.

Es muy recomendable que si se va a trabajar con imágenes, se instale también imagemagick.

En tal caso, después de descomprimir el tarball de octave, dentro del directorio descrompreso, solo hay que hacer la típica rutina:

>$ ./configure
>$ make
>$ sudo make install

El configure por supuesto dirá que es necesario cuando no se logre satisfacer la dependencia para construir octave.

El make puede tardar bastante si no se cuenta con un procesador eficiente; en mi caso, en un adm athlon xp 2000+ tardó algo así como entre 2 y 3 horas, (perdí la cueneta a las 3 am). Por supuesto, el make no se debe ejecutar hasta que el configure termine satisfactoriamente (es decir, que no se queje de que falta algo).

Y si todo termina bien, el make install (con privilegios de root), lo pondrá en el lugar más adecuado. En este punto solo resta ir a la página oficial de octave-forge y descargar los paquetes que sea de nuestro interés; en el caso de procesamiento digital de imágenes, con el paquete Image es suficiente.

Y para instalar los paquetes, se ejecuta octave y desde octave pkg install nombre_paquete.tar.gz; donde nombre_paquete es el nombre del paquete de octave que queremos instalar.

Y con esto ya tenemos un ambiente de trabajo para hacer procesamiento digital de imágenes en GNU/Linux

jueves, mayo 01, 2008

Instalando GNU/Linux en máquinas con Win Vista (2)

Como ya se tiene espacio disponible donde colocar un sistema operativo diferente a Win Vista, el resto resulta muy sencillo (O complicado si tenemos hardware muy nuevo que aún no sea soportado por la distro que queremos instalar).

¿Cómo saber que correrá suficientemente bien la distro Linux que he escogido? Bueno, eso se puede verificar de una forma sencilla, si la distro que se ha elegido cuenta con una versión live-cd, entonces es buen momento para usarlo en ese modo y ver que hardware reconoce.

Las distribuciones más comunes cuentan con live-cd, como Fedora, Ubuntu, OpenSUSE; así como por ejemplo pclinuxos que es relativamente una distribución nueva, con atención a usuarios noveles.

En el caso de Ubuntu (así como otros live-cd's), tanto el instalador como el modo "en vivo" se encuentra en el mismo cd. Y en el caso de la versión 8.04 desde el arranque pregunta si se desea probar o instalar (o hacer otras cosas) aunque lo primero que pregunta es el idioma que se desea en las interfaces.

Es en este momento conveniente usar la opción de "probar" si no existe la certeza de que GNU/Linux funcionará bien en la PC.

Ahora que si ya se sabe que correrá bien y ya se tiene espacio en disco duro, entonces se esconge la opción instalar y solo hay que seguir las instrucciones una tras otra hasta llegar al momento del particionado.

Cuando se llegue a este punto hay que indicarle al instalador que use el espacio vacio y continue.

Realmente los nuevos instaladores están ya muy trabajados, e instalar una distribución Linux ya resulta realmente sencillo.