Professional Documents
Culture Documents
AUDIOVISUAL
Programa de teora
1. Adquisicin y representacin de imgenes.
2. Procesamiento global de imgenes.
3. Filtros y transformaciones locales.
4. Transformaciones geomtricas.
5. Espacios de color y el dominio frecuencial.
6. Anlisis de imgenes.
7. Vdeo y sonido digital.
(c) Gins Garca Mateos, http://dis.um.es/profesores/ginesgm
Dept. de Informtica y Sistemas, Universidad de Murcia
Procesamiento Audiovisual
Tema 2. Procesamiento
global de imgenes.
2.1. Tipos de operaciones. Histogramas.
2.2. Operaciones elementales con pxeles.
2.3. Transformaciones del histograma.
2.4. Combinacin de imgenes.
2.5. Transformaciones de color.
A.2. Procesamiento global en OpenCV.
Procesamiento Audiovisual
67
68
75
78
92
87
73
78
82
63
102
89
76
98
45
83
109
80
130
39
69
92
115
154
Procesamiento Audiovisual
Imagen
R
Procesamiento Audiovisual
Frecuencia
(nmero de pxeles)
Para comprender el significado de muchas transformaciones y saber cul conviene aplicar se usan histogramas.
Qu es un histograma? Repasar estadstica...
Un histograma representa grficamente una distribucin
de frecuencias.
Histograma de una imagen: representa las frecuencias
de los diferentes valores de gris en la imagen.
127
Nivel de gris
Procesamiento Audiovisual
255
Procesamiento Audiovisual
Frecuencia
127
Nivel de gris
Procesamiento Audiovisual
255
127
255
Frecuencia
127
Procesamiento Audiovisual
255
Frecuencia
127
255
Frecuencia
127
Procesamiento Audiovisual
255
Canal Rojo
127
Canal Verde
255
127
Canal Azul
255
Procesamiento Audiovisual
127
255
Canales G y B
Canales R y B
Solucin.
Aplicar un
operador
que estire
el histograma.
Procesamiento Audiovisual
Operaciones unarias:
a
+
Procesamiento Audiovisual
Ejemplo de imagen
muy saturada
Procesamiento Audiovisual
Procesamiento Audiovisual
Suma
0+a
0*b
Procesamiento Audiovisual
Procesamiento Audiovisual
192
64
128
f: curva
tonal
Valor de salida
255
64
128
192
255
Valor de entrada
128
64
128
192
255
64
128
192
255
64
128
192
255
Por 3: f(v):= 3v
128
64
0
64
64
128
128
192
192
Multiplicar 2: f(v):=2v
0
0
255
255
192
192
128
255
64
Resta: f(v):= v - a
255
255
128
64
192
128
64
0
0
255
Suma: f(v):= v + a
192
255
Identidad: f(v):= v
64
128
192
255
Procesamiento Audiovisual
64
128
192
255
128
192
255
64
64
128
192
255
m
Procesamiento Audiovisual
Ojo: no
necesariamente el
mximo
192
128
64
0
Histograma de R
255
Histograma de A
64
128
192
Procesamiento Audiovisual
255
5%
5%
Procesamiento Audiovisual
Procesamiento Audiovisual
255
Raz: c1v0.5 + c2
64
64
128
128
192
255
192
128
64
0
Valor de salida
64
128
192
255
Valor de entrada
Resultado: oscurecer
los medios tonos.
64
128
192
255
Valor de entrada
Resultado: aclarar
los medios tonos.
64
128
192
255
Valor de entrada
Resultado: aclarar
tonos oscuros y
oscurecer los claros.
Procesamiento Audiovisual
192
128
64
0
255
Gama 0,5
Gama 0,75
Gama 1
64
Gama 2
Procesamiento Audiovisual
128
192
255
Gama 4
Blanco
192
255
64 128
?
0
127
255
64
128
192
255
127
255
20%
20%
20%
127
64
128
192
255
Procesamiento Audiovisual
Histograma de A
Funcin f
Histograma de R
Procesamiento Audiovisual
192
255
0
64
128
192
255
Umbral
superior
64
Umbral
inferior
64
64
128
128
128
192
255
192
Umbral
Valor de salida
255
64
128
192
255
Valor de entrada
Valor de entrada
Umbralizar la
imagen con valor cte.
Cortar un rango y
mantener el resto
Procesamiento Audiovisual
64
128
192
255
Valor de entrada
Seleccionar un
rango
Imagen de entrada
(256 grises)
Umbral = 160
Procesamiento Audiovisual
Umbral = 215
Imagen de entrada
Umbralizar, u = 42
Umbralizar, u = 180
A AND B
Imagen de
entrada
B
A OR B
Procesamiento Audiovisual
A XOR B
En imgenes
no binarias no
tienen mucho
sentido...
Cmo se
interpretan?
Procesamiento Audiovisual
Procesamiento Audiovisual
NOT C
T2
2. T2:= A AND C
A
3. R:= T1 OR T2
T1
T1
R
T2
Procesamiento Audiovisual
!?
Cuestiones:
Cmo crear la mscara de forma automtica?
La zona del pelo no se mezcla bien con el fondo.
Cmo evitar este problema?
Procesamiento Audiovisual
a = 0,5
Procesamiento Audiovisual
a = 0,75
Imgenes
capturadas
de TV
Imagen
acumulada
Procesamiento Audiovisual
Modelo de
Imgenes de
fondo
Quickcam
[0..255] - [0..255] =
[-255..255] La mitad
de los pxeles se
saturan a 0
Procesamiento Audiovisual
A-B
B-A
(A-B)*
(B-A)*
Procesamiento Audiovisual
? Son muy
distintas...
Dif.
x16
Procesamiento Audiovisual
Frame 1
Frame 2
Idea: esto se
puede usar para
crear la mscara...
Cmo?
x2
Procesamiento Audiovisual
x2
M
A
D
U
F
Cmo
arreglar eso?
Procesamiento Audiovisual
Frame 2
Diferencia x2
Procesamiento Audiovisual
B1
B2
A*B1
A*B2
Procesamiento Audiovisual
Resultado:
R:= (A AND NOT M)
OR (B AND M)
No me convence...
mejor un reborde
suave (difuminado)
Procesamiento Audiovisual
Resultado:
R:= A(255-N)/255 + BN/255
Producto de
imgenes
Procesamiento Audiovisual
Procesamiento Audiovisual
Fondo mximo
Frame 1
La mscara ya
est binarizada
Procesamiento Audiovisual
Frame 2
Imagen de entrada
Grises (media)
Grises (precisa)
Procesamiento Audiovisual
(vr,vg,vb)
(255,255,255)
Procesamiento Audiovisual
Imagen de entrada
Escala de grises
Escala de sepias
Cmo conseguir
que el punto
intermedio sea un
valor cualquiera
(distinto de 128)?
Escala de (30,255,0)
Escala de (0,255,255)
Procesamiento Audiovisual
R=
G=
B=
255
255
0
0
255
255
0
255
255
0
Procesamiento Audiovisual
Imagen de entrada
Procesamiento Audiovisual
Procesamiento Audiovisual
Imagen de entrada
Procesamiento Audiovisual
R.R= A.B
R.G= A.R
R.B= A.G
Procesamiento Audiovisual
R.R= A.G
R.G= A.B
R.B= A.R
R.R=
(A.R+A.B)/2
R.G=
(A.G+A.R)/2
R.B=
(A.G+A.B)/2
Imagen de entrada
Ajuste conjunto
Ajuste separado
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Anexo A.2.
Operaciones unarias
Operaciones binarias
Operaciones con histogramas
Ejercicios
Procesamiento Audiovisual
Recordar: un
CvArr puede ser
un IplImage
Procesamiento Audiovisual
Operaciones binarias:
cvAdd, cvAddWeighted, cvSub, cvAbsDiff, cvMul, cvDiv, cvAnd,
cvOr, cvXor, cvCmp, cvMax, cvMin
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
void cvMaxS (const CvArr* A, double scalar, CvArr* C) (est mal en la ayuda)
C(x,y):= max {A(x,y), S}
Las imgenes deben ser de un solo canal.
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Implementacin 2.
Implementacin 1.
cvMul(B, N, B, 1./255);
cvNot(N, N);
cvMul(A, N, A, 1./255);
cvAdd(A, B, R);
Esto es ms sencillo y
eficiente, porque las operaciones estn optimizadas
Aunque no del todo correcto,
modifica sus parmetros de
entrada A, B y N...
Procesamiento Audiovisual
Procesamiento Audiovisual
Ejemplos.
Histograma de 2 dimensiones
Histograma de 1
dimensin y 4 celdas
Bin 0
Bin 1
Bin 2
Bin 3
Bin 0 (0-85)
(0-63)
(64-127)
(128-191)
(192-255)
Bin 1 (86-170)
Bin 2 (171-255)
Procesamiento Audiovisual
Bin 0
Bin 1
(0-127)
(128-255)
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual
Procesamiento Audiovisual