Está en la página 1de 37

Procesamiento de

Imágenes

Profesor: Patricio Galarce A.


DEFINICIÓN: ESPACIOS DE COLOR
Un modelo de color es un modelo matemático
abstracto que describe la forma en la que los
colores pueden representarse como combinación
de números, normalmente como tres o cuatro
valores o componentes de color.

Algunos de los modelos de color más conocidos son:

RGB (Red - Green - Blue)


HSV (Hue – Saturation – Value)
CMYK (Cyan – Magenta – Yellow - Black)
Etc.

Docente: Patricio Galarce A.


DEFINICIÓN: ESPACIOS DE COLOR
RGB (Modelo aditivo): CMYK
(Modelo sustractivo):

Docente: Patricio Galarce A.


DEFINICIÓN: ESPACIOS DE COLOR
HSV (Matíz – Saturación – Valor)

Docente: Patricio Galarce A.


COMANDOS DE MATLAB
Algunos comandos para lectura, despliegue y
cambio del espacio de color de una imagen son los
siguientes:

-Imread (Permite cargar una imagen en memoria


como una matriz de datos en el espacio de color
RGB)
- rgb2gray (Transforma una imagen del espacio de
color RGB a escala de grises)
-rgb2hsv (Transforma una imagen del espacio de
color RGB al espacio de color HSV)
-Imadjust (Ajusta los valores de intensidad de una
imagen o el mapa de colores)
Docente: Patricio Galarce A.
COMANDOS DE MATLAB
Ejemplo:
1.- Lectura y despliegue de una imagen
I = imread(‘football.jpg’);
Imshow(I);

2.- Transformación de la imagen al espacio de color HSV


J = rgb2hsv(I);
subplot(1,2,1)
imshow(I)
title(‘Imagen en RGB’);
subplot(1,2,2)
imshow(J)
title(‘Imagen en HSV’);

Docente: Patricio Galarce A.


COMANDOS DE MATLAB
Extracción de canales de color:
Para poder extraer cada canal del color (por ejemplo RGB), es necesario
saber que una imagen a color en Matlab se puede definir como una
matriz multidimensional.

En el caso de una imagen RGB, se tendrán 3 matrices


1 matriz para cada canal de color
Cada matriz tendrá una dimensión igual a la resolución de la imagen.

Ejemplo:
Para la imagen anteriormente cargada obtener los canales de color y
desplegarlos:

R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);

Docente: Patricio Galarce A.


COMANDOS DE MATLAB
Ejemplo continuación:
subplot(1,3,1);
Imshow(R);
title(‘Canal del color R’);

subplot(1,3,2);
Imshow(G);
title(‘Canal del color G’);

subplot(1,3,3);
Imshow(R);
title(‘Canal del color B’);

Docente: Patricio Galarce A.


UTILIZACIÓN DE HISTOGRAMA
- Un histograma representa gráficamente una
distribución
de frecuencias.
- Histograma de una imagen: representa las
frecuencias
de los diferentes valores de gris en la imagen.

Docente: Patricio Galarce A.


LOS HISTOGRAMAS EN PROCESAMIENTO DE
IMÁGENES

• Los histogramas son una herramienta importante


en análisis de imágenes: ¿es buena la calidad de
una
imagen?, ¿sobra luz?, ¿falta contraste?

• Ayudan a decidir cuál es el procesamiento más


adecuado para mejorar la calidad de una
imagen...
– Tanto cualitativamente (qué operación aplicar),
– Como cuantitativamente (en qué cantidad).

Docente: Patricio Galarce A.


LOS HISTOGRAMAS EN PROCESAMIENTO DE
IMÁGENES
En principio, una buena imagen debe producir un
histograma más o menos uniforme y repartido en
todo el rango de valores.

Docente: Patricio Galarce A.


LOS HISTOGRAMAS EN PROCESAMIENTO DE
IMÁGENES
Ejemplo 1. La imagen es muy oscura. Falta luz.

Docente: Patricio Galarce A.


LOS HISTOGRAMAS EN PROCESAMIENTO DE
IMÁGENES

Ejemplo 2. La imagen es muy clara. Sobra


brillo.

Docente: Patricio Galarce A.


COMANDOS DE MATLAB
Ejemplo:
1.- Lectura y despliegue de una imagen
I = imread('pout.tif');
Imshow(I);
2.- Despliegue y ajuste del histograma de la imagen anterior
imhist(I);
J=imadjust(I);
figure,imhist(J);
3.- Ajuste del histograma y despliegue de la imagen original y la
imagen modificada
subplot(1,2,1)
imshow(I)
title(‘Imagen Original')
subplot(1,2,2)
imshow(J)
title('Ajuste de histograma')
Docente: Patricio Galarce A.
SEGMENTACIÓN DE IMÁGENES POR
UMBRALIZACIÓN

Es una técnica de segmentación de imágenes que


permite una análisis visual del comportamiento de los
canales de color de la imagen.

Docente: Patricio Galarce A.


SEGMENTACIÓN DE IMÁGENES POR
UMBRALIZACIÓN

Pasos para la segmentación basada en


umbralización:

1.- Obtener los canales de color la imagen

2.- Analizar el histograma del canal o canales del


color que se quieren segmentar

3.- Aplicar la segmentación

Docente: Patricio Galarce A.


SEGMENTACIÓN DE IMÁGENES POR
UMBRALIZACIÓN
Ejemplo:
I=imread(‘test.bmp’);
R=I(:,:,1);
G=I(:,:,2);
B=I(:,:,3);
figure,imhist(R);
figure,imhist(G);
figure,imhist(B);
Impixel(I);
%Detectar el círculo gris
cir_gris=?????????????
%¿Cómo se hace para poder segmentar solo ese
elemento?
Docente: Patricio Galarce A.
SEGMENTACIÓN DE IMÁGENES POR
UMBRALIZACIÓN
Ejercicios:
Segmente los siguientes elementos de la imagen:

1.- Cuadrado verde


2.- Círculo celeste
3.- Óvalo Café

Comente:

Sobre los histogramas de los canales de color

Docente: Patricio Galarce A.


OPERACIONES MORFOLÓGICAS
CON IMÁGENES
Morfología en imágenes: Herramientas y
métodos utilizados para extraer
componentes de la misma, útiles en la
descripción y representación de formas
(contornos, esqueletos, etc….)

Docente: Patricio Galarce A.


OPERACIONES MORFOLÓGICAS
Dilatación: Se adiciona píxeles al contorno de
objetos presentes en la imagen
Figura original >> I2=imdilate(I1,ee);

Docente: Patricio Galarce A.


OPERACIONES MORFOLÓGICAS
Erosión: En imágenes binarias, elimina píxeles del
contorno de objetos presentes en la imagen
>> ee=strel('square', 24);
Figura original >> I2=imerode(I1,ee);

Docente: Patricio Galarce A.


CARACTERÍSTICAS DE LA DILATACIÓN Y LA
EROSIÓN
Dilatación
❑Amplía bordes
❑Une objetos próximos
❑Une puntos blancos próximos
❑Elimina detalles negros pequeños

Erosión
❑Reduce bordes
❑Separa objetos próximos
❑Elimina puntos blancos separados
❑Amplía detalles negros pequeños

Docente: Patricio Galarce A.


PARÁMETROS DE LAS OPERACIONES
MORFOLÓGICAS

En general todas las operaciones morfológicas


necesitan de un elemento para realizar el análisis
de la operación que se aplicará, este elemento se
llama “elemento estructural”

Elemento estructural: Define la forma y el tamaño


de la vecindad del píxel que será analizado, para
posteriormente alterar su valor, está formada por
ceros y unos de forma y tamaño arbitrario en la
cual las posiciones donde está el uno define la
vecindad

Docente: Patricio Galarce A.


PARÁMETROS DE LAS OPERACIONES
MORFOLÓGICAS
Algunos de los elementos estructurantes que se ocupan en
procesamiento de imágenes, se muestran a continuación:

Docente: Patricio Galarce A.


Ejemplo:
Comandos en Matlab para dilatación y erosión, en
conjunto con diferentes elementos estructurantes:
Dilatación:
originalI = imread('cameraman.tif');
se = strel('ball',5,5);
dilatedI = imdilate(originalI,se);
figure, imshow(originalI), figure, imshow(dilatedI)

Erosión:
originalI = imread('cameraman.tif');
se = strel('ball',5,5);
erodedI = imerode(originalI,se);
figure, imshow(originalI), figure, imshow(erodedI)
Docente: Patricio Galarce A.
OPERACIONES MORFOLÓGICAS
Apertura: Es la realización de una erosión seguida
de una dilatación, utilizando el mismo elemento
estructural en ambas operaciones
I2 Sal

Docente: Patricio Galarce A.


APLICACIONES DE LA OPERACIÓN DE
APERTURA

➢ Suaviza contornos de los objetos

➢ Elimina pequeñas protuberancias

➢ Rompe conexiones débiles

Docente: Patricio Galarce A.


Aplicaciones de la operación de apertura

Definir y aislar formas, para contar

Docente: Patricio Galarce A.


OPERACIONES MORFOLÓGICAS
Cerradura: Es la realización de una dilatación
seguida de una erosión, utilizando el mismo
elemento estructural
I
en ambas operaciones
I2

Docente: Patricio Galarce A.


APLICACIONES DE LA OPERACIÓN DE
CIERRE

•Rellenar detalles, conectando objetos que


están próximos entre sí.

•También suaviza los contornos

•Rellena vacíos en el contorno

•Elimina pequeños huecos

Docente: Patricio Galarce A.


APLICACIONES DE LA OPERACIÓN DE
CIERRE
Aumentar la definición de formas

Docente: Patricio Galarce A.


COMPARACIÓN ENTRE APERTURA Y
CIERRE
Original Apertura Cerradura

Opening

Closing
Docente: Patricio Galarce A.
COMPARACIÓN ENTRE APERTURA Y
CIERRE
Original Apertura Cerradura
Imagen original Opening Closening

Docente: Patricio Galarce A.


COMPARACIÓN ENTRE EROSIÓN,
DILATACIÓN, APERTURA Y CIERRE

Docente: Patricio Galarce A.


Ejemplo 1:
-Comandos en Matlab para erosión y apertura,
analice el siguiente script y comente que
operaciones realiza y cual es su finalidad:

imgEnt=imread('rice.png');
imshow(imgEnt);
umbral=graythres(imgEnt);
imgBW=im2BW(imgEnt, umbral);
se = strel('disk',2);
imgEroBW = imerode(imgBW,se);
imgOpenBW = imopen(imgBW,se);
imshow([imgBW,imgEroBW, imgOpenBW]);

Docente: Patricio Galarce A.


Ejemplo 2:
-Comandos en Matlab para dilatación y cierre,
analice el siguiente script y comente que
operaciones realiza y cual es su finalidad:

imgEnt=imread('coins.png');imshow(imgEnt);pause;
umbral=graythresh(imgEnt);
imgBW=im2BW(imgEnt, umbral);
se = strel('disk',3);
imgDilBW = imdilate(imgBW,se);
imgCloseBW = imclose(imgBW,se);
imshow([imgBW,imgDilBW, imgCloseBW]);

Docente: Patricio Galarce A.


Ejercicio:
- Aplicando los comandos anteriores, segmente el
balón del football, tal como se muestra a
continuación:
I=imread('football.jpg');

Docente: Patricio Galarce A.

También podría gustarte