You are on page 1of 6

Procesamiento Digital De Se

nales II
Fundaci
on Universitaria Los Libertadores

Informe Laboratorio No.6


Informe Laboratorio No. 6




1.

Julian Andres Ospina Castro

Introducci
on

En este informe se realizaran las operaciones morfologicas de dilatacion y erosion para imagenes
obtenidas con la c
amara externa en Visual Studio con la biblioteca OpenCV. Se observara que
las operaciones morfol
ogicas simplifican las imagenes y conservan las principales caractersticas de forma de los objetos, ademas permiten que las formas subyacentes sean identificadas y
reconstruidas de forma
optima a partir de sus formas distorsionadas y ruidosas. Tambien se
encontrara el c
odigo fuente realizado para las operaciones morfologicas, con una explicacion y
an
alisis de las im
agenes obtenidas por la compilacion del codigo en Visual Studio.

Codigo Fuente Visual Studio


A continuaci
on se observara el codigo en el cual se definen las variables y comandos para las
operaciones morfol
ogicas que se deben realizar para la dilatacion y la erosion de la imagen.

Dilataci
on Y Erosi
on:
#include <opencv\highgui.h>
#include <opencv\cv.h>
using namespace cv;
int E_MIN=0;
int D_MIN=0;
int const Max_Valor = 25;
const string windowName = "Imagen Original";
const string windowName1 = "Erosion";
const string windowName2 = "Dilatacion";
char* trackbar_Ero = "Erosi
on";
char* trackbar_Dil = "Dilataci
on";
void on_trackbar(int,void*)
{};
int main(int argc, char* argv[])
{
bool Erosion = true;
bool Dilatacion = true;
Mat camara, Ierosion, Idilatacion;
VideoCapture capture;
capture.open(1);
while(1)
1

{
capture.read(camara);
waitKey(30);
imshow(windowName,camara);
if (Erosion)
{
Mat element = getStructuringElement(2,Size(2*E_MIN + 1, 2*E_MIN + 1),Point(E_MIN,E_MIN));
erode(camara,Ierosion,element);
imshow(windowName1, Ierosion);
createTrackbar(trackbar_Ero,windowName1,&E_MIN,Max_Valor,on_trackbar);
}
if (Dilatacion)
{
Mat element = getStructuringElement(2,Size(2*D_MIN + 1, 2*D_MIN + 1),Point(D_MIN,D_MIN));
dilate(camara,Idilatacion,element);
imshow(windowName2, Idilatacion);
createTrackbar(trackbar_Dil,windowName2,&D_MIN,Max_Valor,on_trackbar);
}

}
return 0;
}
Inicialmente en el c
odigo se establecen las libreras que vamos a usar, estas son highgui.h y
cv.h, donde la primera se encarga de la interfaz de usuario, codecs y captura de imagen o video, y la otra se encarga de las funciones principales del codigo. Luego se hace la declaracion
de las variables que se usaran como la erosion y dilatacion mnima, los nombres de las ventanas y los nombres de las barras que manejaran el nivel de dilatacion o erosion de la imagen.
Se declara una funci
on void, para la creacion de las barras de manejo de la operacion morfologica.
Ahora en el main o funci
on principal del codigo se declaran las variables que se evaluaran mas
adelante para las operaciones morfol
ogicas y las matrices de las imagenes camara, Ierosion e
Idilatacion con el comando Mat.
Para empezar a hacer la captura de im
agenes con la camara externa del computador, se usa el
c
odigo VideoCapture capture y capture.open(1), ya teniendo la imagen se realiza la operaci
on si es Erosion o Dilatacion, luego se hace la estructuracion del tama
no y la forma especfica
para la operaci
on morfol
ogica por medio del codigo getStructuringElement(tipo,Size(2*E
MIN + 1, 2*E MIN + 1),Point(E MIN,E MIN)).
D
onde:
-tipo: Es la forma del elemento con que se realiza la operacion morfologica, esta estructura tiene
3 tipos que son rectangular, elipse o cruces.
-Size: Tama
no del elemento estructurante.
-Point: Posici
on de anclaje dentro del elemento.
Con la funci
on erode(camara,Ierosion,element) y dilate(camara,Idilatacion,element),
se hacen las operaciones morfol
ogicas.
D
onde:
-camara: Matriz de la imagen de entrada.
-Ierosion/Idilatacion: Matriz de la imagen de salida.
2

Procesamiento Digital De Se
nales II
Fundaci
on Universitaria Los Libertadores

Informe Laboratorio No.6

-element: Matriz para el elemento estructurante.


Por u
ltimo, se crean las barras con las cuales se manejara el valor de la dilatacion o la erosi
on
en la imagen, esto se hace con el comando createTrackbar

An
alisis Del Sistema
En esta secci
on se podr
a evidenciar el resultado del codigo fuente realizado para las operaciones
morfol
ogicas de las im
agenes trabajadas, encontraremos capturas de pantalla de las imagenes
con sus respectivo an
alisis.

Dilataci
on Y Erosi
on

Figura 1. Imagen original obtenida por la camara.


En la figura 1 se observa la imagen o el video capturado por la camara externa del computador
y la cual ser
a tratada por las operaciones morfologicas.
En las figuras podemos evidenciar las operaciones morfologicas, las cuales modifican nuestra
imagen dependiendo el tipo de elemento estructural que se use en cada operacion.

Figura 2. Imagen dilatada con tipo 0.

Figura 3. Imagen erosionada con tipo 0.

En las figuras 2 y 3, se us
o un elemento estructural de tipo rectangular y hace que se distorsione
m
as la imagen, esto debido que la dilatacion realizada amplia los bordes y la erosion hace lo
inverso, reduce bordes.

Figura 4. Imagen dilatada con tipo 1.


4

Procesamiento Digital De Se
nales II
Fundaci
on Universitaria Los Libertadores

Informe Laboratorio No.6

Figura 5. Imagen erosionada con tipo 1.

Para las figuras 4 y 5 se us


o el elemento estructural de tipo cruz el cual realiza una dilataci
on
y una erosi
on m
as suave, debido que el rango que ocupa es menor y no distorsiona mucho la
imagen obtenida.

Figura 6. Imagen dilatada con tipo 2.


5

Figura 7. Imagen erosionada con tipo 2.


En las figuras 6 y 7 se us
o el elemento estructural de tipo elipse, la cual es muy parecida a la
rectangular, porque ocupa m
as espacio y genera que la imagen se distorsione en un mayor nivel,
tambien se debe a que la dilataci
on une objetos proximos y la erosion elimina puntos blancos
separados.

You might also like