You are on page 1of 13

Pimentel. CTC.

COMBINACIN Y TRANSFORMACIN DE COLOR


Pimentel, Carlos Daniel, carlosdpimenteld@gmail.com. Ingeniera Electrnica. Unidades Tecnolgicas de Santander

Resumen El presente artculo muestra el desarrollo del tercer laboratorio de la ctedra Procesamiento Digital de Imgenes, donde se ponen a prueba los mtodos para realizar combinaciones y trasformaciones de color de las imgenes. De igual manera, se ponen en prctica los diferentes mtodos para combinar imagenes; se analizan todas las operaciones booleanas y aritmticas, lineales y no lineales, junto con los efectos que se tienen al aplicarse a una imagen. Por ltimo, se analiza el tema de transformaciones de color en las imgenes. Se aplican los cdigos correspondientes a la trasformacin de color a escala de grises y viceversa, al tiempo que se observan los efectos que se pueden llegar a obtener cuando se agrega color y se mezcla o cambia cada canal RGB de la imagen. ndice de Trminos Binarizacin, combinacin, color, intensidad, mscara. I. INTRODUCCIN

transformacin de gris a color, agregar el color deseado y por separado a cada canal, mezclar y combinar los canales RGB de la imagen [1]. II. CONTENIDO DEL ARTCULO

A. COMBINACIN DE IMAGENES

Operadores Booleanos Cmo crear el montaje de la pgina anterior?


Imagen fontral (mscara)

200 400 600 200 400 600 800 1000

Los mtodos de combinacin y transformacin de color se pueden aplicar fcilmente debido a que son solo operaciones aritmticas o booleanas aplicadas a imagenes. Esto permite que cualquier persona pueda tanto entenderlas fcilmente como ponerlas en prctica. Las operaciones booleanas y las aritmticas trabajan pixel a pixel, aplicando la operacin correspondiente entre los pixeles de la misma posicin de las imgenes; as hasta terminar con todos los pixeles, esto quiere decir que la transformacin se aplicaba por igual y en conjunto a los tres canales RGB de la imagen. Las operaciones booleanas son tiles para trabajar con mscaras de objetos. Las operaciones aritmticas, se usan en generacin y anlisis de imagen como video, modelos acumulados, deteccin de movimiento, trasparencias difusas, etc. Cabe resaltar que las imgenes deben, necesariamente, tener el mismo tamao para que puedan ser tratadas. En la transformacin de color la transformacin es distinta para cada canal. Se pueden aplicar las mismas operaciones aritmticas y ajustes al histograma, pero con distintos parmetros para cada canal. Entre las aplicaciones que encontramos estn: conversin de color a escala de grises,

Imagen de fondo para la mscara

200 400 600 200 400 600 800 1000

Fig. 1: Imgenes originales a segmentar.

El cdigo usado fue el siguiente:


A=imread('Lighthouse.jpg'); B=imread('face.jpg'); subplot(2,1,1),subimage(A),title('Imagen fontral (mscara)'); subplot(2,1,2),subimage(B),title('Imagen de fondo para la mscara');

Procedemos a binarizar, a umbralizar y a negar la imagen que representa la mscara

UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

Pimentel. CTC.
Imagen segmentada de la mscara
Imagen combinada de todos los planos RGB binarizados Imagen morfolgica de todos los planos RGB

2
Imagen segmentada del fondo

200
200 400 600 200

200 400 600 200 400 600 800 1000 200 400 600 800 1000

400
400

600
600

200

400

600

800

1000

200

400

600

800

1000

Imagen negada de la imgen umbralizada

Imgen segmentada resultante

200 400 600

200 400 600


200 400 600 800 1000

200

400

600

800 1000

Fig. 2: Imgen binarizada, ubralizada y negada de la mscara.

Fig. 3: Imgenes segmentadas y resultante.

El cdigo usado fue el siguiente:


AplanoR=A( :, :,1); AplanoG=A( :, :,2); AplanoB=A( :, :,3); levelR=graythresh(AplanoR); levelG=graythresh(AplanoG); levelB=graythresh(AplanoB); UmplaR=im2bw(AplanoR,levelR); UmplaG=im2bw(AplanoG,levelG); UmplaB=im2bw(AplanoB,levelB); bw=UmplaR.*UmplaG.*UmplaB; bw1=bwareaopen(bw,10000); figure, subplot(2,2,1),subimage(bw),title('Imagen combinada de todos los planos RGB binarizados'); subplot(2,2,2),subimage(bw1),title('Imag en morfolgica de todos los planos RGB'); mu=im2uint8(bw1); % Sacamos la gama de colores de la imgen umbralizada y las ponemos en M. M(:,:,1)=mu; M(:,:,2)=mu; M(:,:,3)=mu; mn=not(mu); % Negacin de la imgen umbralizada. subplot(2,1,2),subimage(mn),title('Image n negada de la imgen umbralizada');

El cdigo usado fue el siguiente:


% Sacamos la gama de colores de la imgen negada y las ponemos en Mnot. Mnot(:,:,1)=mn; Mnot(:,:,2)=mn; Mnot(:,:,3)=mn; Mnot=im2uint8(Mnot); T1=A.*(Mnot/255); figure, subplot(2,2,1),subimage(T1),title('Imagen segmentada de la mscara'); T2=B.*(M/255); subplot(2,2,2),subimage(T2),title('Image n segmentada del fondo'); R=T1+T2; subplot(2,1,2),subimage(R),title('Imgen segmentada resultante');

Cmo crear la mscara automticamente? Una buena forma de sacar la mscara automticamente es aplicando los comandos que siguen a continuacin:
A=imread('Lighthouse.jpg'); level=graythresh(A); %Calcula un valor de umbral apropiado U=im2bw(A,level); %Convierte la imagen original a binaria figure, imshow(U) subplot(2,1,1),subimage(A),title('Imgen Original'); subplot(2,1,2),subimage(U),title('Imgen Umbralizada');

Imgenes segmentadas de la mscara y del fondo y la imagen combinada resultante

UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

Pimentel. CTC.

Imgen original

que la imgen tenga una mejor relacin con su entorno. Esto se puede ver en las imgenes siguientes.
Imagen fontral Imagen Mscara umbralizada

200 400
200 200 400 600 200 400 600 800 1000 200 400 600 800 1000

600 200 400 600 800 1000

400 600

Imgen Umbralizada

Imagen Mscara umbralizada y corregida

200 400 600

200 400 600 200 400 600 800 1000

200

400

600

800 1000

Fig. 6: Obtencin de una imagen umbralizada de mejor calidad.

Fig. 4: Imgenes original y umbralizada de forma automtica.

El cdigo usado fue el siguiente: Para tener una mejor umbralizacin aplicamos el siguiente comando:
bw=bwareaopen(U,10000); figure, imshow(bw) A=imread('Lighthouse.jpg'); AplanoR=A(:,:,1); AplanoG=A(:,:,2); AplanoB=A(:,:,3); levelR=graythresh(AplanoR); levelG=graythresh(AplanoG); levelB=graythresh(AplanoB); UmplaR=im2bw(AplanoR,levelR); UmplaG=im2bw(AplanoG,levelG); UmplaB=im2bw(AplanoB,levelB); bw=UmplaR.*UmplaG.*UmplaB; bw1=bwareaopen(bw,10000); subplot(2,2,1),subimage(A),title('Imagen fontral'); subplot(2,2,2),subimage(bw),title('Image n Mscara umbralizada'); subplot(2,1,2),subimage(bw1),title('Imag en Mscara umbralizada y corregida');

Suma de dos imgenes


Fig. 5: Imgenes umbralizada final.

La zona del pelo no se mezcla bien con el fondo. Cmo evitar este problema? Para evitar el problema de una mala combinacin de las mscaras es necesario trabajar cada gama de color de la mscara frontal; de esta forma se permite
UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

Pimentel. CTC.

4 subplot(2,2,2),subimage(B) subplot(2,1,2),subimage(R),title('Imagen Resultante');

200 400 600 200 400 600 800 1000

200 400 600 200 400 600 800 1000

Media de dos imgenes

Imagen Resultante

200 400

200 400 600 200 400 600 800 1000 Imagen Resultante 200 400 600 800 1000

200
600

400 600 200 400 600 800 1000


200

Fig. 7: Suma de dos imgenes.


400

El cdigo usado fue el siguiente:


A=imread('Jellyfish.jpg'); B=imread('face.jpg'); R=A+B; subplot(2,2,1),subimage(A) subplot(2,2,2),subimage(B) subplot(2,1,2),subimage(R),title('Imagen Resultante');

600 200 400 600 800 1000

Fig. 9: Media de dos imgenes.

El cdigo usado fue el siguiente:


A=imread('Jellyfish.jpg'); B=imread('face.jpg'); R=(A+B)/2; subplot(2,2,1),subimage(A) subplot(2,2,2),subimage(B) subplot(2,1,2),subimage(R),title('Imagen Resultante');

Resta de dos imagenes

200 400 600 200 400 600 800 1000

200 400 600 200 400 600 800 1000

Media ponderada entre dos imagenes


Imagen con a=0.25 Imagen con a=0.5

Imagen Resultante

200
200 400 600 200 400 600 800 1000

200 400 600 200 400 600 800 1000 200 400 600 800 1000

400 600

Imagen con a=0.75

Imagen con a=1

Fig. 8: Resta de dos imgenes.

200 400 600

200 400 600 200 400 600 800 1000 200 400 600 800 1000

El cdigo usado fue el siguiente:


A=imread('Jellyfish.jpg'); B=imread('face.jpg'); R=B-A; subplot(2,2,1),subimage(A)

Fig. 10: Media ponderada entre dos imgenes.

UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

Pimentel. CTC.

5 subplot(2,2,2),subimage(R2),title('Image n Resultante 2'); subplot(2,1,2),subimage(RT),title('Image n Resultante total');

El cdigo usado fue el siguiente:


A=imread('Jellyfish.jpg'); B=imread('face.jpg'); a1=0.25; R1=(a1*A)+((1-a1)*B); a2=0.5; R2=(a2*A)+((1-a2)*B); a3=0.75; R3=(a3*A)+((1-a3)*B); a4=1; R4=(a4*A)+((1-a4)*B); subplot(2,2,1),subimage(R1),title('Image con a=0.25'); subplot(2,2,2),subimage(R2),title('Image con a=0.5'); subplot(2,2,3),subimage(R3),title('Image con a=0.75'); subplot(2,2,4),subimage(R4),title('Image con a=1');

Modelo de fondo por acumulacin de imagenes


Fondo 1 100 200 300 400 200 400 600 100 200 300 400 200 400 600 Fondo 3 100 200 300 400 200 400 600 Fondo 5

n n n n

Fondo 2 100 200 300 400 200 400 600 100 200 300 400

Fondo 4 100 200 300 400 200 400 600

Fondo acumulado

Combinacin o acumulacin de imgenes


Imagen Resultante 1 200 400 600 200 400 600 800 10001200 200 400 600 200 400 600 800 10001200 Imagen Resultante 2

200

400

600

Fig. 12: Modelo del fondo por acumulacin de imagenes.

El cdigo usado fue el siguiente:


A=imread('fondo1.jpg'); B=imread('fondo2.jpg'); C=imread('fondo3.jpg'); D=imread('fondo4.jpg'); E=imread('fondo5.jpg'); An=double(A); Bn=double(B); Cn=double(C); Dn=double(D); En=double(E); Rn=(An+Bn+Cn+Dn+En)/5; RT=uint8(Rn); subplot(2,3,1),subimage(A),title('Fondo 1'); subplot(2,3,4),subimage(B),title('Fondo 2'); subplot(2,3,2),subimage(C),title('Fondo 3'); subplot(2,3,5),subimage(D),title('Fondo 4'); subplot(2,3,3),subimage(E),title('Fondo 5'); subplot(2,3,6),subimage(RT),title('Fondo acumulado');

Imagen Resultante total

200 400 600 200 400 600 800 1000 1200

Fig. 11: Combinacin o acumulacin de dos imgenes de video.

El cdigo usado fue el siguiente:


A=imread('chavo1.jpg'); B=imread('chavo2.jpg'); C=imread('chavo3.jpg'); An=im2double(A); Bn=im2double(B); Cn=im2double(C); Rn=(An+Bn+Cn)/2; RT=uint8(Rn); figure, subplot(2,2,1),subimage(R1),title('Imagen Resultante 1');

Resta de dos imgenes manteniendo el rango de salida

UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

Pimentel. CTC.

6 subplot(2,2,1),subimage(A) subplot(2,2,2),subimage(B) subplot(2,1,2),subimage(R),title('Imagen Resultante');

200 400 600 200 400 600 800 1000

200 400 600 200 400 600 800 1000

Segmentacin del fondo de una escena


Modelo de fondo

Imagen Resultante

200 400 600 200 400 600 800 1000

100 200 300 400 Frame 1 100 200 300 400 200 400 600 Diferencia 1 100 200 300 400 200 400 600 100 200 300 400 200 400 600 200 400 600 100 200 300 400 200 400 600 Diferencia 2 Frame 2

Fig. 13: Resta de dos imgenes manteniendo el rango de salida.

El cdigo usado fue el siguiente:


A=imread('Jellyfish.jpg'); B=imread('face.jpg'); R=((B-A)/2)+128; subplot(2,2,1),subimage(A) subplot(2,2,2),subimage(B) subplot(2,1,2),subimage(R),title('Imagen Resultante');

Fig. 15: Segmentos finales del fondo de una escena.

Valor absoluto de la resta

El cdigo usado fue el siguiente:


A=imread('fondo1.jpg'); B=imread('frame1.jpg'); C=imread('frame2.jpg'); R1=A-B; G1=rgb2gray(R1); R2=A-C; G2=rgb2gray(R2); figure, subplot(3,1,1),subimage(A),title('Modelo de fondo'); subplot(3,2,3),subimage(B),title('Frame 1'); subplot(3,2,4),subimage(C),title('Frame 2'); subplot(3,2,5),subimage(G1),title('Difer encia 1'); subplot(3,2,6),subimage(G2),title('Difer encia 2');

200 400 600 200 400 600 800 1000

200 400 600 200 400 600 800 1000

Imagen Resultante

200 400 600 200 400 600 800 1000

Fig. 14: Valor absoluto de la resta de dos imgenes.

Deteccin de movimiento en video El cdigo usado fue el siguiente:


A=imread('Jellyfish.jpg'); B=imread('face.jpg'); R=abs(B-A); UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

Pimentel. CTC.

50 100 150 200 250 300 100 200 300

50 100 150 200 250 300 100 200 300

El cdigo usado fue el siguiente:


I=imread('Jellyfish.jpg'); J=imread('face.jpg'); R=J.*(I/100); figure, subplot(2,2,1),subimage(I) subplot(2,2,2),subimage(J) subplot(2,1,2),subimage(R)

Divisin de dos imgenes


50 100 150 200 250 300 100 200 300
50 100 150 200 100 200 300 50 100 150 200 100 200 300

Fig. 16: Deteccin del movimiento de una escena.

El cdigo usado fue el siguiente:


I=imread('chica1.jpg'); J=imread('chica2.jpg'); R=J-I; RG=rgb2gray(R); M=imadjust(RG); R2=I-J; RG2=rgb2gray(R2); M2=imadjust(RG2); RT=M+M2; figure, subplot(2,2,1),subimage(I) subplot(2,2,2),subimage(J) subplot(2,1,2),subimage(RT)

50 100 150 200 100 200 300

Fig. 18: Divisin de dos imagenes.

El cdigo usado fue el siguiente:


I=imread('iglesia2.jpg'); J=imread('lago.jpg'); R=250*(I./J); figure, subplot(2,2,1),subimage(I) subplot(2,2,2),subimage(J) subplot(2,1,2),subimage(R)

Producto de dos imgenes

200 400 600 200 400 600 800 1000

200 400 600 200 400 600 800 1000

Mezcla y combinacin de imagenes con etiqueta

200 400 600 200 400 600 800 1000

Fig. 17: Producto de dos imagenes.

UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

Pimentel. CTC.
Imagen fontral (mscara)

8 AplanoR=A(:,:,1); AplanoG=A(:,:,2); AplanoB=A(:,:,3); levelR=graythresh(AplanoR); levelG=graythresh(AplanoG); levelB=graythresh(AplanoB); UmplaR=im2bw(AplanoR,levelR); UmplaG=im2bw(AplanoG,levelG); UmplaB=im2bw(AplanoB,levelB); bw=UmplaR.*UmplaG.*UmplaB; bw1=bwareaopen(bw,10000); figure, subplot(2,2,1),subimage(bw),title('Imagen combinada de todos los planos RGB binarizados'); subplot(2,2,2),subimage(bw1),title('Imag en morfolgica de todos los planos RGB'); mu=im2uint8(bw1); % Sacamos la gama de colores de la imgen umbralizada y las ponemos en M M(:,:,1)=mu; M(:,:,2)=mu; M(:,:,3)=mu; mn=not(mu); % Negacin de la imgen umbralizada subplot(2,1,2),subimage(mn),title('Image n negada de la imgen umbralizada');
Imagen segmentada de la mscara 100 200 300 400 200 400 600 100 200 300 400 200 400 600 Imagen segmentada del fondo

100 200 300 400 200 400 600

Imagen de fondo para la mscara

100 200 300 400 200 400 600

Fig. 19: Imgenes originales.

El cdigo usado fue el siguiente:


A=imread('descripcion.jpg'); B=imread('camello2.jpg'); subplot(2,1,1),subimage(A),title('Imagen fontral (mscara)'); subplot(2,1,2),subimage(B),title('Imagen de fondo para la mscara');
Imagen combinada de todos los planos RGB binarizados Imagen morfolgica de todos los planos RGB

Imgen segmentada resultante

100 200 300 400 200 400 600

100 200 300 400 200 400 600

100 200 300 400 200 400 600

Imagen negada de la imgen umbralizada

Fig. 21: Imgenes segmentadas finales.


100 200 300 400 100 200 300 400 500 600 700

El cdigo usado fue el siguiente:


% Sacamos la gama de colores de la imgen negada y las ponemos en Mnot Mnot(:,:,1)=mn; Mnot(:,:,2)=mn; Mnot(:,:,3)=mn; Mnot=im2uint8(Mnot); T1=A.*(Mnot/255); figure,

Fig. 20: Obtencin de la mscara del fondo.

El cdigo usado fue el siguiente:

UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

Pimentel. CTC.
Conversin precisa

subplot(2,2,1),subimage(T1),title('Imagen segmentada de la mscara'); T2=B.*(M/255); subplot(2,2,2),subimage(T2),title('Image n segmentada del fondo'); R=T1+T2; subplot(2,1,2),subimage(R),title('Imgen segmentada resultante'); B. TRANSFORMACIONES DE COLOR

Conversin de color a escala de grises Transformacin sencilla


Conversin sencilla

Fig. 23: Imagen que resultado de la transformacin precisa.

El cdigo usado fue el siguiente:


A=imread('face.jpg'); AplanoR=A( :, :,1); AplanoG=A( :, :,2); AplanoB=A( :, :,3); R=0.21*AplanoR + 0.72*AplanoG + 0.07*AplanoB; figure, imshow(R)

Transformacin de escala de grises a color


(a)

Fig. 22: Imagen que resultado de la transformacin sencilla.

El cdigo usado fue el siguiente:


A=imread('face.jpg'); AplanoR=A( :, :,1); AplanoG=A( :, :,2); AplanoB=A( :, :,3); R=(AplanoR+AplanoG+AplanoB)/3; figure, imshow(R)

100

200

300

100

200 (b)

300

400

Transformacin precisa

100

200

300

100

200

300

400

Fig. 24: Transformacin de color. a) Imagen original; b) UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

Pimentel. CTC. Imagen transformada.


(a)

10

El cdigo usado fue el siguiente:


200

function[s]=transformar('monte.jpg',128, 30,255,0) %Donde 'imagen' es el nombre de la imagen a transformar con su respectiva extencin; 'Pmedio' es el Punto medio del histograma; 'vr','vg' y 'vb' son los rangos de las tres gamas de colores a transformar y los 3 van de 0 a 255 B=imread(imagen); A=rgb2gray(B); Ad=double(A); if Ad<Pmedio AR=vr*(Ad/Pmedio); AG=vg*(Ad/Pmedio); AB=vb*(Ad/Pmedio); AT(:,:,1)=AR; AT(:,:,2)=AG; AT(:,:,3)=AB; An=uint8(AT); figure, subplot(2,1,1),subimage(B),title('(a)'); subplot(2,1,2),subimage(An),title('(b)') ; else AR= vr+(255-vr)*((Ad-Pmedio)/Pmedio); AG= vg+(255-vg)*((Ad-Pmedio)/Pmedio); AB= vb+(255-vb)*((Ad-Pmedio)/Pmedio); AT(:,:,1)=AR; AT(:,:,2)=AG; AT(:,:,3)=AB; An=uint8(AT); figure, subplot(2,1,1),subimage(B),title('(a)'); subplot(2,1,2),subimage(An),title('(b)') ; end

400 600 200 400 600 (b) 800 1000

200 400 600 200 400 600 800 1000

Fig. 25: Priorizar rojos. a) Imagen original, b) Gama de rojos modificada.

El cdigo usado fue el siguiente:


A=imread('facee.jpg'); AR=A(:,:,1); AG=A(:,:,2); AB=A(:,:,3); vf=1.2; fg=0.9; fb=0.9; RR=fr*AR; RG=fg*AG; RB=fb*AB; AN(:,:,1)=RR; AN(:,:,2)=RG; AN(:,:,3)=RB; figure, subplot(2,1,1),subimage(A),title('(a)'); subplot(2,1,2),subimage(AN),title('(b)') ;

Transformaciones de agregar color (colorear) Ejemplos Propuestos: Priorizar rojos (medio): fr= 1.2, fg= 0.9, fb= 0.9

Priorizar verdes (mucho): fr= 0.8, fg= 1.6, fb= 0.8

UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

Pimentel. CTC.
(a)
(a)

11

200 400 600 200 400 600 (b) 800 1000

200 400 600 200 400 600 (b) 800 1000

200 400 600 200 400 600 800 1000

200 400 600 200 400 600 800 1000

Fig. 26: Priorizar rojos. a) Imagen original, b) Gama de verdes modificada.

Fig. 27: Priorizar rojos. a) Imagen original, b) Gama de amarillos modificada.

El cdigo usado fue el siguiente:


A=imread('facee.jpg'); AR=A(:,:,1); AG=A(:,:,2); AB=A(:,:,3); vf=0.8; fg=1.6; fb=0.8; RR=fr*AR; RG=fg*AG; RB=fb*AB; AN(:,:,1)=RR; AN(:,:,2)=RG; AN(:,:,3)=RB; figure, subplot(2,1,1),subimage(A),title('(a)'); subplot(2,1,2),subimage(AN),title('(b)') ;

El cdigo usado fue el siguiente:


A=imread('facee.jpg'); AR=A(:,:,1); AG=A(:,:,2); AB=A(:,:,3); vf=1.1; fg=1.1; fb=0.8; RR=fr*AR; RG=fg*AG; RB=fb*AB; AN(:,:,1)=RR; AN(:,:,2)=RG; AN(:,:,3)=RB; figure, subplot(2,1,1),subimage(A),title('(a)'); subplot(2,1,2),subimage(AN),title('(b)') ;

Priorizar amarillos (poco): fr= 1.1, fg= 1.1, fb= 0.8

Qu imagen tiene los colores ms realistas? La imagen que tiene los colores ms realistas es aquella con la gama de amarillos modificada. Mezcla de cambio de canales Ejemplo1. RR=AG, RG=AB, RB=AR

UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

Pimentel. CTC.
(a)
(a)

12

200 400 600 200 400 600 (b) 800 1000

200 400 600 200 400 600 (b) 800 1000

200 400 600 200 400 600 800 1000

200 400 600 200 400 600 800 1000

Fig. 28: Cambio de canales. a) Imagen original b) imagen modificada.

Fig. 29: Cambio de canales. a) Imagen original b) imagen modificada.

El cdigo usado fue el siguiente:


A=imread('face.jpg'); AR=A(:,:,1); AG=A(:,:,2); AB=A(:,:,3); AN(:,:,1)=AG; AN(:,:,2)=AB; AN(:,:,3)=AR; figure, subplot(2,1,1),subimage(A),title('(a)'); subplot(2,1,2),subimage(AN),title('(b)') ;

El cdigo usado fue el siguiente:


A=imread('face.jpg'); AR=A(:,:,1); AG=A(:,:,2); AB=A(:,:,3); AN(:,:,1)=AB; AN(:,:,2)=AR; AN(:,:,3)=AG; figure, subplot(2,1,1),subimage(A),title('(a)'); subplot(2,1,2),subimage(AN),title('(b)') ;

Ejemplo2. RR=AB, RG=AR, RB=AG

III.

CONCLUSIONES

En las operaciones booleanas el resultado final siempre resulta saturado; mientras que en las operaciones aritmticas se pueden encontrar dos opciones: el resultado puede estar saturado, o el resultado no est saturado. Las operaciones booleanas son perfectas a la hora de combinar dos imagenes debido a su facilidad ya que trabaja cada canal por separado, permitiendo una mejor umbralizacin y segmentacin de la imagen.
UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

Pimentel. CTC.

13

Como en cada operacin el resultado es diferente, la operacin a aplicar a una imagen depende del resultado que queramos conseguir. Esto resulta en que cualquier tipo de operacin aplicada ser posible, sin importar si es una operacin lineal o no lineal. Los resultados de aplicar un cambio general a la imagen, o sea, a los canales RGB al mismo tiempo son diferentes al aplicar un cambio a cada canal RGB por separado. El mtodo que mejor se ajusta a un resultado real, es la transformacin de todos los canales de la imagen al mismo tiempo, debido a que este mtodo mantiene los colores originales, siempre en una proporcin igual.

REFERENCIA

[1] C. Erik, Z. Daniel, P. Marco. Procesamiento Digital


de Imgenes con MATLAB y Simulink. Primera Edicin. Mxico D.F.: Editorial Alfa Omega, 2011.

UNIDADES TECNOLGICAS DE SANTANDER - INGENIERA ELECTRNICA

You might also like