-
LABORATORIO 1 TELEVISION DIGITAL
NOMBRE: CONTRASTE, SATURACION, BRILLO Y MATIZ.
Objetivo: comprender los conceptos de contraste, saturacin,
brillo y matiz a travs del manejo de la
herramienta octave.
Contraste:
El contraste se define como la diferencia relativa en la
intensidad entre un punto de una imagen y
sus alrededores. Tambin puede ser definida como la diferencia de
luminosidad entre las zonas
claras y las zonas oscuras de una imagen.
La siguiente imagen muestra la misma imagen en dos contrastes
diferentes.
La imagen mal contrastada (arriba) nos ofrece muy poca
informacion visual. En esta imagen al
realizar un histograma sobre los pixeles, se puede ver
claramente un tendencia hacia un valor de
pixel. Mientras que la imagen inferior, fue tratada digitalmente
para generar un mayor contraste,
su histograma est mas disperso y nos permite captar una mayor
cantidad de informacion visual de
la imagen.
Para ajustar el contraste de una imagen a travez de matlab
existen multimples formas de hacerlo,
el uso del toolbox de procesamiento de imagen ofrece la funcion
imcontrast. Por otro lado, la
modificacion del contraste puede ser realizado por numerosas
procedimientos matematicos.
-
Para el desarrollo de la practica se ha desarrollado la
siguiente funcin para modificar el contraste
de una manera lineal:
function contraste(N,imagen) ima=imread(imagen); % importar la
imagen a matlab figure(1) % abre una figura subplot(221) %divide la
pantalla en 2x2 y determina que se va a trabajar sobre la posicin 1
image(ima) % muestras la imagen subplot(222) [x y]= imhist(ima); %
obtiene el histograma de la imagen, la funcin imhist debe ser
instalada plot(y,x) % grafica el histograma %modificacion de
contraste lineal subplot(223) ima2=n*ima; % se escala los niveles
de los colores de manera lineal. image(ima2) subplot(224) [x2 y2]=
imhist(ima2); plot(y2,x2) endfunction PROCEDIMIENTO:
a. De la pgina http://octave.sourceforge.net/ , descargar la
versin de octave para Windows, e instalar
b. Inicio - Ejecutar octave c. Crear una carpeta en C para el
desarrollo de proyectos en clase. Por ejemplo C:\octave\ d. En la
ventana de comandos de octave escribir:
Addpath(ruta\directorio); Savepath;
e. Descargar del correo los archivos enviado por el profesor y
grabarlos en la carpeta creada f. Escribir en la ventana de
comandos
Contraste(2,directorio\octave\rosa.jpg);
g. Repetir el comando para diferente niveles de escalamiento (el
numero 2)y descargar diferentes imgenes en jpg y probar, tener
encuentra que el factor de escalamiento puede ser una fraccin
h. Estudiar el cdigo e interpretar como funciona. i.
-
Saturacin: La saturacin o pureza es la intensidad de un matiz
especfico. Se basa en la pureza del color; un color muy saturado
tiene un color vivo e intenso, mientras que un color menos saturado
parece ms descolorido y gris. Sin saturacin, un color se convierte
en un tono de gris. El siguiente cdigo en octave permite variar la
cantidad de saturacin de una imagen
function saturacion(N,imagen) ima=imread(imagen); figure(1)
subplot(231) image(ima) subplot(232) [x y]= imhist(ima(:,:,1));
plot(y,x,'r') hold on [x y]= imhist(ima(:,:,2)); plot(y,x,'g') [x
y]= imhist(ima(:,:,3)); plot(y,x,'b') %conversion a hsv [h,s,v] =
rgb2hsv(ima); subplot(233) image(255*h); colormap(gray) [r, g, b] =
hsv2rgb(h,N*s,v); ima2(:,:,1)=r; ima2(:,:,2)=g; ima2(:,:,3)=b;
subplot(234) image(ima2) subplot(235) [x y]= imhist(ima2(:,:,1));
plot(y,x,'r') hold on [x y]= imhist(ima2(:,:,2)); plot(y,x,'g') [x
y]= imhist(ima2(:,:,3)); plot(y,x,'b') subplot(236) image(255*h*n);
colormap(gray) endfunction
-
Para hacer uso de la imagen se escribe en la ventana de
comandos
saturacion (valor,directorio\octave\rosa.jpg)
Y puede tener resultados como el siguiente:
Donde la imagen de la rosa inferior es la imagen modificada para
una saturacin 10 veces mayor que la rosa superior.
Brillo: El brillo se refiere a la cantidad de luz recibida. El
brillo tiene relacin con la cantidad de luz que puede dar un
monitor.
El siguiente cdigo en octave permite variar la cantidad de
brillo de una imagen.
function brillo(N,imagen) ima=imread(imagen); figure(1)
subplot(231) image(ima) subplot(232) [x y]= imhist(ima(:,:,1));
plot(y,x,'r') hold on [x y]= imhist(ima(:,:,2)); plot(y,x,'g') [x
y]= imhist(ima(:,:,3));
-
plot(y,x,'b') %conversion a HSV [h,s,v] = rgb2hsv(ima);
subplot(233) image(255*v); colormap(gray) [R, G, B] =
hsv2rgb(h,s,N*v); ima2(:,:,1)=R; ima2(:,:,2)=G; ima2(:,:,3)=B;
subplot(234) image(ima2) subplot(235) [x y]= imhist(ima2(:,:,1));
plot(y,x,'r') hold on [x y]= imhist(ima2(:,:,2)); plot(y,x,'g') [x
y]= imhist(ima2(:,:,3)); plot(y,x,'b') subplot(236) image(255*h*N);
colormap(gray) endfunction Para hacer uso de la imagen se escribe
en la ventana de comandos
brillo(valor,directorio\octave\rosa.jpg)
Y puede tener resultados como el siguiente:
-
Para esta imagen el brillo fue ajustado 10 veces ms para la
imagen inferior.
Matiz: El matiz se refiere al color predominante en una imagen.
En algunos casos se habla de la temperatura del color. Se usan
otros nombres para matiz como virado, valor, tendencia o dominante.
El siguiente cdigo en octave permite variar el matiz de una
imagen.
function matiz(N,imagen) ima=imread(imagen); figure(1)
subplot(231) image(ima) subplot(232) [x y]= imhist(ima(:,:,1));
plot(y,x,'r') hold on [x y]= imhist(ima(:,:,2)); plot(y,x,'g') [x
y]= imhist(ima(:,:,3)); plot(y,x,'b') %conversion a HSV [h,s,v] =
rgb2hsv(ima);
-
subplot(233) image(255*h); colormap(gray) [R, G, B] =
hsv2rgb(N*h,s,v); ima2(:,:,1)=R; ima2(:,:,2)=G; ima2(:,:,3)=B;
subplot(234) image(ima2) subplot(235) [x y]= imhist(ima2(:,:,1));
plot(y,x,'r') hold on [x y]= imhist(ima2(:,:,2)); plot(y,x,'g') [x
y]= imhist(ima2(:,:,3)); plot(y,x,'b') subplot(236) image(255*h*N);
colormap(gray) endfunction Para hacer uso de la imagen se escribe
en la ventana de comandos
matiz(valor,directorio\octave\rosa.jpg)
Y puede tener resultados como el siguiente:
-
Para esta imagen el matiz fue ajustado .5, cambiando la
tendencia de rojo a azul para la imagen inferior. INFORME DE
LABORATORIO.
1. Se debe bajar una imagen en jpg y realizar el tratamiento de
imagen variando los cuatro parmetros vistos en el laboratorio.
Presentar resultados
2. Se debe comentar los cdigos de octave lnea a lnea explicando
que hace cada lnea 3. Se debe presentar una explicacin del formato
HSV
El informe para este laboratorio debe ser en grupos de 2, y se
debe enviar por correo antes de la media noche del domingo 16 de
febrero.