Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Hoy
Representacin de imgenes Tipos de datos e imgenes en OpenCV Filtros lineales Suavizado del ruido Resaltado de aristas con filtros lineales Operadores morfolgicos Filtros y operaciones en OpenCV
Referencias
Svetlana Lazebnik Michael J. Black Derek Hoeim
(S. Seitz)
3
Discretizacin
Array de sensores Sensor Array
CMOS sensor
Perfil real 1D
Actual 1D profile
Michael J. Black
Imgenes digitales
Niveles de gris The raster image (pixel matrix)
0.92 0.95 0.89 0.96 0.71 0.49 0.86 0.96 0.69 0.79 0.91 0.93 0.89 0.72 0.95 0.81 0.62 0.84 0.67 0.49 0.73 0.94 0.94 0.82 0.51 0.88 0.81 0.60 0.74 0.54 0.56 0.90 0.89 0.97 0.89 0.55 0.94 0.87 0.58 0.58 0.85 0.66 0.67 0.49 0.62 0.56 0.51 0.56 0.57 0.50 0.51 0.48 0.43 0.33 0.41 0.37 0.31 0.42 0.46 0.37 0.60 0.39 0.37 0.42 0.61 0.78 0.85 0.75 0.57 0.91 0.80 0.58 0.73 0.88 0.77 0.69 0.78 0.97 0.92 0.41 0.87 0.88 0.50 0.92 0.90 0.73 0.79 0.77 0.93 0.81 0.49 0.90 0.89 0.61 0.91 0.94 0.71 0.73 0.89 0.92 0.95 0.91 0.97 0.79 0.45 0.49 0.82 0.90 0.93 0.99 0.99 0.91 0.92 0.95 0.85 0.33 0.74 0.93 0.99 0.97 0.93
(Hoeim)
6
Matrices e imgenes
CvArr: clase abstracta CvMat: matriz 2D multi-canal
Constructor: CreateMat(filas: int, columnas: int, tipo: int) tipo = CV_<bit_depth><S|U|F>C<num_channels>
Ejemplo: CreateaMat(200,200, cv.CV_32FC3) devuelve una matriz formada por tuplas de 3 nmeros reales de 32 bits CreateMatHeader(filas: int, columnas: int, tipo: int) CreateData(array: CvArr)
Otros constructores:
Filtros
Transforman imgenes in nuevas imgenes Aplicaciones:
Suavizado del ruido Resaltado de aristas y otras caractersticas de la imagen Bsqueda de plantillas
Filtros lineales y convolucin Muestreo y aliasing Filtros como plantillas Pirmides gaussianas
Filtro lineal
Operador de vecindad: el valor resultante de un pxel se calcula como una funcin de su vecindad Filtro lineal:
El componente h se denomina el ncleo o mscara del filtro y los valores k,l representan la vecindad del pxel i,j La operacin anterior es una correlacin
Convolucin:
f
10
Convolucin
Reemplazamos cada pxel con la media ponderada de los pxeles vecinos Los pesos se denominan el kernel (o mscara) del filtro Ejemplo: la media de los 9 puntos vecinos se calcula con el siguiente kernel (mean filter)
1 1 1 1 1 1 1 1 1
Filtros de imagen en OpenCV Filter2D realiza una convolucin
11
12
unit impulse
Gaussian
Laplacian of Gaussian
12
Blur
13
Sharpening
original
=
smoothed (5x5)
detail
+
original
detail
=
sharpened
14
15
Ruido de sal y pimienta (salt and pepper noise): ocurrencias aleatorias de pxeles blancos y negros Ruido de impulso (impulse noise): ocurrencias aleatorias de pxeles blancos Ruido gausiano (gaussian noise): variaciones en la intensidad generadas por una distribucin gausiana normal
16
Ruido gaussiano
Modela bien el ruido real: suma de mltiples factores
17
El filtro de media reemplaza un pixel por la media de valores de su vecindad Se denomina tambin filtro de caja (box filter) Suaviza la imagen, eliminando las diferencias y, por tanto, el ruido
Mejora: filtrado gausiano, sustituimos el kernel por un kernel gaussiano que da ms peso al centro y menos a los bordes
1 2 1 2 4 2 1 2 1
18
Kernel gaussiano
Distintos valores de la y del tamao del kernel Choosing kernel width cambian la forma de la gaussiana
The Gaussian function has infinite support, but discrete filters use finite kernels
Source: K. Grauman
19
Separability example
2D convolution (center location only) ( y)
=
Source: K. Grauman
20
Distintos valores de tienen distintos efectos en el filtrado del ruido. Mayores eliminan ms ruido, pero difuminan ms la imagen
21
Filtrado de mediana
El filtro gaussiano no funciona bien con ruido sal y pimienta
Salt and pepper noise: contains random occurrences of black and white pixels Impulse noise: Salt and pepper noise contains random 5x5 Original 3x3 occurrences of white pixels Filtro de mediana Gaussian noise: variations in intensity drawn from a Gaussian normal distribution
Gaussian noise
Source: S. Seitz
se
ginal
7x7
e noise
22
Filtrado de mediana
El filtro gaussiano no funciona bien con ruido sal y pimienta
Salt and pepper noise: contains random occurrences of black and white pixels Impulse noise: Salt and pepper noise contains random 5x5 Original 3x3 occurrences of white pixels Filtro de mediana Gaussian noise: variations in intensity drawn from a Gaussian normal distribution
Gaussian noise
Source: S. Seitz
se
ginal
7x7
e noise
22
108
Filtro mediana
(a)
(b)
3 Image proces
(a)
(b)
(c)
(f)
(d)
Figure 3.18 Median and bilateral ltering: (a) original image median ltered; (d) bilaterally ltered; (e) original image with sho (h) bilaterally ltered. Note that the bilateral lter fails to remov different from their neighbors.
(e)
As we have just seen, linear lters can perf e 3.18 Median and bilateral ltering: (a) original image with Gaussian noise; (b) Gaussian ltered However non-linear lters, such as edge-prese n ltered; (d) bilaterally ltered; (e) original image with shot noise; (f) Gaussian ltered; (g) median lt perform even better. Other examples of neigh aterally ltered. Note that the bilateral lter fails to remove the shot noise because the noisy pixels ar ators that operate on binary images,23 as well nt from their neighbors.
24
Edges
changes Aristas: pxeles de la imagen donde se produce un Where the magnitude fuerte of thegradiente derivative is(tanto positivo como negativo)
large
fast
gnitude ve is
Simple Signal
CS143 Intro to Computer Vision Michael J. Black
Simple Signal
CS143 Intro to Computer Vision
Michael J. Black
Discontinuous
Primera derivada
nuous
25
1.0
[ -1 1] Or [-1 0 1] symmetric
-1
0 1
-1
0 1
Michael J. Black
26
Michael J. Black
Michael J. Black
Michael J. Black
27
G
CS143 Intro to Computer Vision
dG
Michael J. Black
En 2D
In 2D
28
Funciona?
La derivada amplifica las pequeas variaciones
1D Barbara signal
Smoothed Signal
First Derivative
Michael J. Black
Michael J. Black
29
Filter kernel? [1 -2 1]
Las aristas estaranCS143 en los cruces por el Michael cero (zero Intro to Computer Vision J. Black crossing)
30
The Laplacian
Just Unanother filtro lineal Just another linear filter. linear filter.
Kernel de la Laplaciana
Michael J. Black
Michael J. Black
31
Aproximacin de la Laplaciana
La Laplaciana tambin se puede aproximar como una diferencia de gaussianas a diferentes escalas Difference of Gaussians at different
scales.
Laplacian Pyramid
=
CS143 Intro to Computer Vision Michael J. Black
Sept, 2007
CS143 Intro to Computer Vision
=
Michael J. Black
32
Pirmides de imgenes
Las pirmides de imgenes permiten representar una imagen a mltiples escalas
Mltiples usos: caractersticas, compresin
33
sigma=4
sigma=2
34
Otros filtros
Sobel
35
Funciones en OpenCV
Laplace aplica un filtro de Laplace
36
Funciones en OpenCV
PyrDown reduce la imagen despus de aplicar un filtro gaussiano
37
Filtros morfolgicos
Filtros no lineales para imgenes binarias Convolucin de la imagen con el elemento estructurante (kernel), seguida de una umbralizacin Definimos la umbralizacin:
Definimos la convolucin entre una imagen f y el elemento estructurante s como el nmero de pxeles que estn a 1 dentro del elemento estructurante de tamao S Operaciones:
dilatacin(f,s) = (c,1) erosin(f,s) = (c,S) mayora(f,s) = (c,S/2) apertura(f,s) = dilatacin(erosin(f,s),s) cierre(f,s) = erosin(dilatacin(f,s),s)
38
Funciones en OpenCV
CreateStructuringElementEx devuelve un elemento estructurante
39
Funciones en OpenCV
MorphologyEx realiza operaciones morfolgicas avanzadas
40
Referencias
Computer Vision: Algorithms and Applications de Szelinsky: cap. 3.1, 3.2, 3.3, 3.5 Learning OpenCV: cap. 3, 5, 6.1-6.4
41