ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Trabajo con imágenes en MATLAB, Java y C++


Enviado por   •  24 de Febrero de 2013  •  Tesis  •  925 Palabras (4 Páginas)  •  495 Visitas

Página 1 de 4

Trabajo con imágenes en MATLAB, Java y C++

Se deja este documento para mostrar cómo se pueden leer imágenes en varias plataformas de programación. En todas ellas, la imagen se maneja como un arreglo de números de 2 dimensiones (imágenes en tonos de gris) o de 3 dimensiones (una imagen en color es un trío de imágenes en tonos de rojo, verde y azul) y los elementos van de 0 (tono más oscuro) a 255 (tono más claro).

MATLAB

Es la interfaz más simple para trabajar con imágenes, pero a la vez, es la más lenta (unas 120 veces más lento que C++ y unas 20 veces más lento que Java cuando se trabaja píxel a píxel). Las imágenes se trabajan como arreglos de varias dimensiones.

- Imágenes en color: arreglo de 3 dimensiones. Por ejemplo, para generar espacio para una imagen de 640x480 con 3 colores (rojo, verde, azul) se usa:

o Icolor=zeros(640,480,3);

- Imágenes en tonos de gris: arreglo en 2 dimensiones. Por ejemplo, para generar espacio para una imagen de 640x480 en tonos de gris se usa:

o Igris=zeros(640,480)

Una imagen en color contiene 3 imágenes simples: una para el color rojo, otra para el verde y otra para el azul.

- Rojo: I(x,y,1)

- Verde: I(x,y,2)

- Azul: I(x,y,3)

Para poder leer, grabar o mostrar las imágenes en la pantalla, deben almacenarse como tipo de datos uint8 (un entero con 8 bits); mientras que para poder operar matemáticamente con ellas, debe almacenarse como double (número de punto flotante).

- I2 = uint8 (I1) %Transforma la imagen a uint8 para grabarla o mostrarla

- I3 = double (I2) %Transforma la imagen a double para poder hacer cálculos

Hay varias funciones que permiten hacer cosas útiles:

- I = zeros (ancho, alto) % Crea una arreglo de 2 dimensiones de tipo double

- I = zeros (ancho, alto, 3) % Crea una arreglo de 3 dimensiones de tipo double

- I = imread('mono.jpg'); % Lee una imagen en formato uint8

- tam=sizeof(I); % tam contiene el tamaño de la imagen I

- figure; %crea una nueva ventana

- imshow(I); %muestra la imagen I en formato uint8

- I2 = rgb2gray(I); %Transforma una imagen en color a otra en tonos de gris en formato uint8

Para ver ejemplos de utilización se recomienda ver el archivo ejemploMatlab.m que está dentro de EjemplosCodigo.zip. Hay varias otras funciones útiles que pueden buscar en la ayuda de MATLAB o en Internet. Se debe recordar que en MATLAB los arreglos comienzan en la posición 1 y no en la posición 0 (como sí ocurre en Java).

Java

Incluye bibliotecas para leer y grabar imágenes desde la versión 1.4 en adelante, pero la forma de trabajar con ellas es complicada (para ver un ejemplo de uso de las clases estándar, ver el archivo EjemploJava.java).

Para facilitar las cosas, se entrega un par de clases llamadas ImagenRGB e ImagenBN para trabajar con imágenes en color y en tonos de gris respectivamente, las que están incluidas en el archivo EjemploJava2.java. Estas clases

...

Descargar como (para miembros actualizados)  txt (5.9 Kb)  
Leer 3 páginas más »
Disponible sólo en Clubensayos.com