Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Creación de las ocho máscaras direccionales del filtro II-B1. Umbralización Binaria: Esta método se define co-
mediante la función cvMat de OpenCV. Las máscaras se mo:
crean como matrices 3x3.
threshold_type=CV_THRESH_BINARY
2. Aplicación separada de cada máscara a la imagen fuente
mediante la función cvFilter2D de OpenCV. Esto no es dst(x,y) = max_value, si src(x,y)>threshold, 0 en caso
más que aplicar un filtrado espacial o convolución de la contrario.
imagen con cada máscara. Donde:
3. Finalmente se realiza una suma de las ocho imágenes dst es la imagen de destino.
filtradas (con las ocho máscaras direccionales) para con- src es la imagen fuente.
formar una sola imagen que tendrá como particularidad treshold es el valor de Umbralización.
un realce bien definido de los contornos de la imagen. max_value es el valor a asignar para los elementos que
Para este caso se utilizó como imagen fuente la figura 3; se hallen después del umbral.
esta imagen corresponde a un logotipo de la marca Puma, el La llamada a la función para aplicar la umbralización binaria
cual será usado en el desarrollo del proyecto final del curso. En se realizó como se muestra a continuación:
el código de C++ se realizó primero una reducción de espacio
de color RGB a escala de grises de la imagen, y luego se
procedió a llamar la función implementada cvDirPrewitt. El cvThreshold(src2_img,thres_img,100,255,CV_THRESH_BINARY);
resultado obtenido se tiene en la figura 4. El resultado se muestra en la figura 5.
El resultado obtenido con este método se muestra en la figura espacios de color se ilustran a continuación al aplicar las
7. Los valores de umbral y máximo valor son los mismos que transformaciones sobre la figura 10.
para la umbralización binaria.
Figura 12. Imagen transformada al espacio HSV II-D. Filtros Espaciales 2D para detección de contornos
Observe que una imagen en el espacio HSV permite diferen- II-D1. Filtro Laplaciano: La función que permite aplicar
ciar objetos y/o detalles que no son fácilmente visibles en el el filtro Laplaciano a una imagen es cvLaplace, la cual se
espacio RGB, de manera que puede ser utilizado como etapa muestra a continuación:
de pre-procesamiento para permitir una mejor segmentación
cvLaplace(const CvArr *img, CvArr *dst, int apertureSize=3)
de características diminutas.
II-C3. Conversión RGB a espacio HLS: El espacio HLS El filtro de laplace es básicamente un filtro derivativo de
es también una transformación no lineal del espacio RGB, con segundo orden que aplica el operador Laplaciano al nivel de
el cual se logra una representación en coordenadas cilíndricas gris de cada pixel de una imagen. Con esto se logra diferenciar
del mismo, al igual que el HSV. Se diferencia del HSV al los bordes de una imagen, ya que precisamente al derivar los
reemplazar el parámetro Value por Lightness o luminosidad del niveles de gris, en aquellos pixeles en que se encuentre un
color. La función cvCvtColor permite realizar la conversión al variación brusca del nivel de gris (entre pixeles vecinos), es
espacio HLS al escoger el parámetro TipodeConversión como en donde se encuentran casi siempre los contornos de un objeto
CV_RGB2HLS. El resultado se ilustra en la figura 13. en una imagen.
Al aplicar el filtro Laplaciano a la figura 3, se obtuvo el
resultado de la figura 16.
III. C ONCLUSIONES
La práctica permitió tener una idea general de las funciones
de tratamiento y pre-procesamiento de una imagen, las cuales
pueden facilitar enormemente las tareas de segmentación y
aprendizaje (entre otras) de un sistema de visión de máquina.
Se comprendió totalmente que es esencial el uso de filtros
de detección de bordes para poder realizar luego un correcto
proceso de segmentación.
R EFERENCIAS
[1] G. Bradski, Learning OpenCV, O’Reilly, (2008)