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

3 Comentarios:

Blogger Rommel S.V. dijo...

Code Samples D00d3!

7:11 p.m.  
Blogger César dijo...

Para ver ejemplos de como hacerlo, remítase por favor al wiki de lidsol.net, en donde estoy escribiendo un tutorial

8:25 p.m.  
Anonymous Anónimo dijo...

Hola!!
Como estan todos!!
Tengo un gran problema con el que estoy estancado desde hace 3 dias y no he podido salir...
Cuento con ubuntu 8.04, octave3.0, la libreria de imagen de octave-forge, octplot, imagemagick, gnu-plot y no me puede cargar las imagenes de tipo jpg o png... solo carga las imágenes con formato .img..
Me aparece este error cuando intento con un formato diferente al .img :

octave:3> imshow("a.jpg");
error: load: /home/gerardo/Escritorio/a.jpg: inconsistent number of columns near line 3
error: load: unable to extract matrix size from file `/home/gerardo/Escritorio/a.jpg'
error: evaluating assignment expression near line 47, column 8
error: called from `loadimage' in file `/usr/local/share/octave/3.0.2/m/image/loadimage.m'
error: evaluating if command near line 66, column 3
error: called from `imshow' in file `/usr/local/share/octave/3.0.2/m/image/imshow.m'

Como ven estoy un poco desesperado... mil disculpas si no era el lugar correcto para preguntar...
Mi correo es montemayor_sk8@hotmail.com

12:11 p.m.  

Publicar un comentario

Suscribirse a Comentarios de la entrada [Atom]

<< Página Principal