Detección de bordes
Filtro de Procesamiento de imagen
Detección de Bordes
Iván Aliaga Andrade
Introducción
Una imagen digital no es otra cosa que una especie de hoja de papel cuadriculado en el
que cada una de las cuadriculas tiene asignado un color concreto especifico por medio de
su código siendo las cuadriculas los pixeles.
Para la mayoría de los filtros usan una “matriz de convolución”, y coneste filtro se
pueden crear filtros personalizados.
Una matriz de convolución es una matriz cuadriculada que contiene valores numéricos
enteros. Convolución es un tratamiento de una matriz por otra que se llama kernel.
El filtro matriz de convolución usa una primera matriz que va ser la imagen a la que se va a
tratar, el kernel o mascara usado depende del efecto deseado.
Los filtros usanmatrices 5x5 , 3x3 y otros pero las mas usadas son las 3x3 y son suficiente
para los efectos que desees. El filtro examina sucesivamente cada pixel de la imagen. Los
llamaremos pixeles iniciales, donde se multiplica el valor de este pixel y el valor de los 8
circundantes por el valor correspondiente del kernel o mascara, después se suman esos
resultados, y el resultado se divide por la norma(es lasuma de los números de la matriz
del Kernel o mascara). Entonses se añade el resultado, y el pixel inicial se regula en este
valor resultante final.
Ej.
100
100
100
100
100
100
100
100
100
100
100
50
100
100
100
100
50
100
100
100
100
100
100
100
100
0
0
0
1 0
0 0
0 0
100
100
100
100
100
100
100
100
100
100
100
50
100
100
100100
50
50
100
100
100
100
100
100
100
A la izquierda, la matriz de la imagen, cada pixel esta marcado con su valor. Al medio esta
el kernel o la mascara y a la derecha esta el resultado.
El filtro lee sucesivamente, de arriba a abajo y de izquierda a derecha, todos los pixeles del
área de acción del kelnel o mascara. Se multiplica el valor de cada uno de ellos por el valorcorrespondiente del kernel o mascara y se suman los resultados, como en el ejemplo
anterior
(100*0)+(50*1)+(50*0)+(100*0)+(100*0)+(100*0)+(100*0)+(100*0)+(100*0)+(100*0) = 50
Norma=0+1+0+0+0+0+0+0+0=1
entonces 50/1=50. El pixel inicial asumió el valor 50.
El filtro no trabaja sobre la imagen sino sobre una copia, de esta manera cuando el filtro
lea los pixeles no lea las modificaciones sinoque el que la imagen que estaba antes que
usaras el filtro.
Detección de bordes
La detección de bordes es una herramienta fundamental en el procesamiento de imagen y
en visión por computadora, particularmente en las áreas de detección y extracción de
características, que tiene como objetivo la identificación de puntos en una imagen
digital en la que el brillo de la imagen cambiadrásticamente o, más formalmente, tiene
discontinuidades. El mismo problema de encontrar discontinuidades en señales 1D se
conoce como detección de paso.
Algunos de los Operadores que se utilizan en el procesamiento de imagen son:
- Sobel
-Laplaciana
-Prewitt
Operador Sobel
El operador Sobel es utilizado en procesamiento de imágenes, especialmente en
algoritmos en detección de bordes.Técnicamente es un operador discreto que calcula una
aproximación al gradiente de la función de intensidad de una imagen. Para cada punto de
la imagen a procesar, el resultado del operador Sobel es tanto el vector gradiente
correspondiente como la norma de este vector.
Los operadores de gradiente, en general, tienen el efecto de magnificar el ruido
subyacente en la imagen, no obstante, el detector deSobel se puede ver como la
combinación de un filtro de suavizado del ruido con un operador de aproximación
imprecisa del gradiente.
Primera derivada bidimensional
El algoritmo básicamente extrae la luminosidad de cada punto de la imagen.
Matemáticamente el operador utiliza dos kernels o mascaras de 3x3 elementos para
aplicar convolución a la imagen original para calcular aproximaciones a...
Regístrate para leer el documento completo.