separacion de los canales de una imagen

8
SEPARACION DE LOS CANALES DE UNA IMAGEN (RGB). Galicia López Edgar. Instituto Politécnico Nacional. Escuela Superior de Ingeniería Mecánica y Eléctrica. Ingeniería en Comunicaciones y Electrónica. Especialidad Computación. [email protected] I. INTRODUCCION. En el dominio digital, puede haber cualquier número de colores primarios convencionales para formar una imagen; un canal en este caso es similar a una imagen en escala de grises sobre cualquier color primario convencional. Por extensión, un canal es cualquier imagen en escala de grises del mismo tamaño que la "propia" imagen, y asociado con ella. "Canal" es un término convencional utilizado para referirse a cierto componente de una imagen. En la realidad, cualquier formato de imagen puede usar internamente su propio algoritmo para almacenar imágenes. El concepto de canales se extiende más allá del espectro visible en imágenes multiespectrales e hyperespectrales. En ese contexto, cada canal corresponde a un rango de longitudes de onda y contiene información espectroscópica. Los canales pueden tener múltiples anchos y rangos. Existen tres tipos de canales principales (o modelos de color), y tienen sus respectivas ventajas e inconvenientes. II.DESARROLLO. A. RGB. Una imagen RGB tiene tres canales: rojo, verde y azul. Los canales RGB derivan u obedecen a los receptores de color del ojo humano, y se usan en monitores de ordenador y escáneres de imagen. Si la imagen RGB es de 24 bits (estándar desde 2005), cada canal tiene 8 bits, para el rojo, verde y azul— en otras palabras, la imagen

Upload: edgar-crisanto

Post on 20-Jan-2016

28 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Separacion de Los Canales de Una Imagen

SEPARACION DE LOS CANALES DE UNA IMAGEN (RGB).

Galicia López Edgar.

Instituto Politécnico Nacional.

Escuela Superior de Ingeniería Mecánica y Eléctrica.

Ingeniería en Comunicaciones y Electrónica.

Especialidad Computación.

[email protected]

I. INTRODUCCION.

En el dominio digital, puede haber cualquier número de colores primarios convencionales para formar una imagen; un canal en este caso es similar a una imagen en escala de grises sobre cualquier color primario convencional. Por extensión, un canal es cualquier imagen en escala de grises del mismo tamaño que la "propia" imagen, y asociado con ella.

"Canal" es un término convencional utilizado para referirse a cierto componente de una imagen. En la realidad, cualquier formato de imagen puede usar internamente su propio algoritmo para almacenar imágenes.

El concepto de canales se extiende más allá del espectro visible en imágenes multiespectrales e hyperespectrales. En ese contexto, cada canal corresponde a un rango de longitudes de onda y contiene información espectroscópica. Los canales pueden tener múltiples anchos y rangos.

Existen tres tipos de canales principales (o modelos de color), y tienen sus respectivas ventajas e inconvenientes.

II.DESARROLLO.

A. RGB.

Una imagen RGB tiene tres canales: rojo, verde y azul. Los canales RGB derivan u obedecen a los

receptores de color del ojo humano, y se usan en monitores de ordenador y escáneres de imagen.

Si la imagen RGB es de 24 bits (estándar desde 2005), cada canal tiene 8 bits, para el rojo, verde y azul— en otras palabras, la imagen está compuesta de tres imágenes (una por cada canal), donde cada imagen puede almacenar píxeles con intensidades de brillo convencional entre 0 y 255. Si la imagen RGB es de 48 bits (alta resolución), cada canal está hecho de imágenes de 16 bits.

Fig. 1 Ejemplo de separación de canales RGB.

Page 2: Separacion de Los Canales de Una Imagen

B. CMYK.

Una imagen CMYK tiene cuatro canales: cian, magenta, amarillo y negro. CMYK es el estándar para imprimir, donde se utiliza la síntesis sustractiva de color,

Una imagen CMYK de 32 bits (estándar desde 2005) está hecha de cuatro canales de 8 bits, uno para el cian, uno para el magenta, uno para el amarillo y uno para el negro. No es común almacenar imágenes CMYK de 64 bits (16 bits por canal), debido al hecho de que CMYK es dependiente de dispositivo, mientras que RGB es el estándar genérico para almacenamiento independiente de dispositivo.

C. HSV.

HSV, o Hue Saturation Value, almacena la información de color en tres canales, al igual que RGB, pero un canal está dedicado al brillo (Value), y los otros dos transmiten la información de color. El canal "value" es exactamente el mismo que el canal Negro de CMYK o su negativo.

HSV es especialmente útil en compresión de vídeo con pérdida, donde la pérdida de información del color es menos perceptible al ojo humano.

D.Canal alfa.

El canal alfa almacena la información de transparencia — cuanto mayor es el valor, más opaco es el píxel. Ninguna cámara o escáner mide la transparencia, aunque los objetos físicos la poseen, pero el canal alfa es extremadamente útil para la composición de imágenes digitales.

La tecnología croma involucra a actores frente a un fondo con un color primario, que posteriormente se establece a transparente y se superpone a otro fondo.

Los formatos de imagen GIF y PNG utilizan canales alfa en la World Wide Web para combinar las imágenes en la página web con fondos no uniformes.

E. Profundidad de color.

En digitalización de imágenes, los canales de color se convierten a números. Como las imágenes contienen miles de píxeles, cada uno con múltiples canales, los canales se codifican normalmente con el menor número de bits posible. Los valores típicos son 8 bits por canal o 16 bits por canal.

F. Tamaños de canal optimizados.

Como el cerebro no percibe necesariamente diferencias en cada canal para el mismo grado que en otros canales, es posible que cambiar el número de bits para cada canal resulte en un almacenamiento más óptimo; en particular, para imágenes RGB, comprimir más el canal azul y después el rojo puede ser mejor que dar el mismo espacio a cada canal. Este tipo de compresión "preferencial" es el resultado de estudios que muestran que la retina humana en realidad utiliza el canal rojo para distinguir el detalle, junto con el verde en menor medida, y usa el canal azul como información ambiental o para el fondo.

Entre otras técnicas, la compresión de vídeo con pérdida utiliza Chroma subsampling para reducir la profundidad de color de los canales (matiz y saturación), mientras mantiene toda la información sobre el brillo (Value en HSV).

G. PROGRAMA

clc;

clear all;

close all;

D=imread( 'F:\edgar\vision\DSC_0806','jpg');

I=imread( 'F:\edgar\vision\DSC_0918','jpg');

I=double(I);

Page 3: Separacion de Los Canales de Una Imagen

D=double(D);

[M,N,L]=size(I);

B=zeros(M,N,L);

B2=zeros(M,N,L);

B3=zeros(M,N,L);

B4=zeros(M,N,L);

for x=1:M

for y=1:N

for z=1:L

B(x,y,1)=I(x,y,1);

end

end

end

B=uint8(B);

figure ;

image(B);

for x=1:M

for y=1:N

for z=1:L

B2(x,y,2)=D(x,y,2);

end

end

end

B2=uint8(B2);

figure ;

image(B2);

for x=1:M

for y=1:N

for z=1:L

B3(x,y,3)=I(x,y,3);

end

end

end

B3=uint8(B3);

figure ;

image(B3);

Conclusiones:

Los colores primarios son importantes para el estudio de muchos desarrollos tecnológicos, como lo son la cámara digital y la televisión donde las imágenes se componen de los tres colores básicos

[1]http://help.adobe.com/es_ES/photoshop/cs/using/WSfd1234e1c4b69f30ea53e41001031ab64-73eea.html

[2]http://es.wikipedia.org/wiki/Canal_imagen_digital.

Page 4: Separacion de Los Canales de Una Imagen

OPERACIONES BÁSICAS ENTRE IMÁGENESGalicia López Edgar.

Instituto Politécnico Nacional.

Escuela Superior de Ingeniería Mecánica y Eléctrica.

Ingeniería en Comunicaciones y Electrónica.

Especialidad Computación.

[email protected]

I INTRODUCCION.

El nombre MATLAB proviene de la contracción de MATrix LABoratory. Es un sistema de trabajo interactivo y una herramienta importante para cualquier tarea que requiera cálculos matriciales, ya sea que involucren ecuaciones, sistemas característicos, mínimos cuadrados, etc. y la visualización gráfica de los mismos. Se pueden resolver problemas numéricos relativamente complejos sin necesidad de escribir un programa para ello.

Tiene gran capacidad de expansión ya que permite que el usuario defina sus propias funciones, es por ello que es considerado como un lenguaje de programación para cálculos técnicos y científicos donde se encuentran implicados elevados cálculos matemáticos y la visualización gráfica.

MATLAB trabaja esencialmente con un solo tipo de objetos: matrices, con entradas eventualmente complejas. Esto significa que todas las variables representan matrices, de este modo los escalares quedan caracterizados por matrices 1×1 y los vectores por matrices de una fila o una columna.

Es importante destacar que el alcance y la potencia de MATLAB van más allá de lo que pueda verse en esta serie de trabajos prácticos.

II DESARROLLO.

Suma.

En su forma más sencilla, la operación suma toma como entrada dos imágenes de tamaño idéntico y produce como salida una tercera imagen del mismo tamaño de las primeras dos, en la cual cada valor de píxel es la suma de los valores de los píxel correspondientes de cada una de las dos imágenes de entrada. Existen versiones más sofisticadas que permiten la combinación de más de dos imágenes con una única operación. Una variante común permite adicionar una constante específica a cada píxel.

La adición de dos imágenes se lleva en un único paso. Los valores de los píxel del resultado vienen dados por:

Q (i,j) = P1( i,j) + P2( i, j)

O si solamente se desea adicionar un valor constante C a una imagen, entonces:

Q (i,j) = P1(i,j) + C

Si los valores de los píxel en las imágenes de entrada son realmente vectores en lugar de valores escalares (por ejemplo, imágenes a color) entonces los componentes individuales (componentes rojo, azul y verde) se adicionan separadamente para producir el valor de salida.

Si el formato de la imagen que se está utilizando soporta únicamente valores de píxel enteros de 8 bits, es bastante probable que el resultado de la adición sea mayor que el máximo permitido por el valor del píxel. El efecto de ello, dependerá de la implementación. Los valores de píxel desbordados, deben tratarse de tal forma que se correspondan con los máximos valores permitidos. Si el formato de la imagen soporta valores con un rango de

Page 5: Separacion de Los Canales de Una Imagen

valores mucho más grande, por ejemplo un entero de 32 bits o números de puntos flotantes, este problema no tiene tanta ocurrencia.

Resta.

En su forma más sencilla, la operación resta toma como entrada dos imágenes y produce como salida una tercera imagen en la cual cada valor de píxel es la resta de los valores de los píxel de la primera imagen menos sus correspondientes de la segunda imagen. Una variante común permite simplemente una constante especificada ser sustraída a cada píxel. Existen versiones que solamente producen la diferencia absoluta entre valores de píxel, en lugar de una salida asignada.

La sustracción de dos imágenes se lleva a cabo en un único paso. Los valores de los píxel del resultado vienen dados por:

Q ( i , j) = P1( i , j) – P2( i , j)

O si la operación únicamente calcula las diferencias absolutas entre las dos imágenes de entrada:

Q i j = |P1 (i , j) – P2( i , j)|

O si solamente se desea sustraer un valor constante C a una imagen simple, entonces:

Q i,( j) = P1(i , j) - C

Si los valores de los píxel en las imágenes de entrada son realmente vectores en lugar de valores escalares (por ejemplo, imágenes a color) entonces los componentes individuales (componentes rojo, azul y verde) se sustraen separadamente para producir el valor de salida.

Diversas implementaciones de la operación varían respecto de lo que hacen si los valores del píxel de salida son negativos. Algunos trabajan con formatos de imagen que soportan píxeles con valores negativos, en cuyo caso la forma en que se desplegaran dependerá del mapa de colores. Si el formato de la imagen no soporta valores negativos, a menudo tales píxeles se ajustan a cero, con lo cual se tiene una imagen típicamente negra.

Multiplicación.

Como sucede con otras operaciones aritméticas, la multiplicación presenta dos formas principales. La primera forma toma dos imágenes de entrada y produce una imagen de salida en la cual los valores de los píxeles son solo aquellos de la primera imagen multiplicados por los valores correspondientes en la segunda imagen. La segunda forma toma una única imagen de entrada y produce un resultado en el cual cada valor de píxel es multiplicado por una constante, la cual debe ser especificada. Esta última forma es probablemente la más ampliamente utilizada, en un proceso conocido como escalado. (Este escalado en nivel de grises, no debe confundirse con el escalado geométrico).

La multiplicación de dos imágenes se desarrolla de la siguiente forma:

Q ( i , j )=P1 ( i , j ) X P2(i , j)

Luego, el escalado por una constante sigue la siguiente formulación matemática:

Q ( i , j )=P1 ( i , j ) XC

La constante en este caso, es a menudo un punto flotante, y puede ser menor que uno, en cuyo caso se reducirá la intensidad de la imagen. Este puede incluso ser negativo si el formato de la imagen lo soporta.

Si los valores de píxel en las imágenes de entrada son realmente vectores en lugar de valores escalares (por ejemplo, imágenes a color) entonces los componentes individuales (componentes rojo, azul y verde) se multiplican separadamente para producir el valor de salida.

Si los valores calculados son más grandes que el máximo permitido por el valor del píxel, entonces deben ser truncados al máximo valor, o sufrir el mismo procedimiento ‘wrap’ antes descrito.

División

La operación de división de imágenes, toma normalmente dos imágenes como entrada y produce una tercera cuyos valores de píxel son los valores de píxel de la primera imagen dividido por los valores de píxel correspondientes de la segunda imagen. Muchas implementaciones pueden ser utilizadas con una única imagen de entrada, en cuyo

Page 6: Separacion de Los Canales de Una Imagen

caso cada valor de píxel en la imagen se divide por una constante específica.

La división de dos imágenes es desarrollada mediante la siguiente formulación matemática:

Q (i , j )=P1(i , j)/ P2(i , j)

Luego, la división por una constante se define de la siguiente manera:

Q (i , j )=P1(i , j)/C

Si los valores de los píxel en las imágenes de entrada son realmente vectores en lugar de valores escalares (por ejemplo, imágenes a color) entonces los componentes individuales (componentes rojo, azul y verde) se dividen separadamente para producir el valor de salida.