Beruflich Dokumente
Kultur Dokumente
AUDIOVISUAL
Tema 2. Procesamiento
global de imgenes.
Programa de teora
67
68
75
78
92
87
73
78
82
63
102
89
76
98
45
83
109
80
130
39
69
92
115
154
Operaciones de procesamiento
global: cada pxel es tratado de
forma independiente, ya sea con
una o con varias imgenes.
Filtros y convoluciones: se
considera la vecindad local
de los pxeles.
Transformaciones geomtricas: se modifica el tamao
y forma de las matrices.
Transformaciones lineales:
Fourier, wavelets, etc.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Transformaciones de histograma.
Transformaciones de color.
Binarizacin, etc.
Principales tipos de
procesamientos de imgenes:
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Imagen
A
Imagen
R
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
127
255
Nivel de gris
7
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Frecuencia
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
0
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
127
Nivel de gris
255
10
Frecuencia
Frecuencia
127
255
127
255
Frecuencia
Frecuencia
0
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
127
255
11
0
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
127
255
12
127
Canal Verde
255
127
255
127
255
13
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Solucin.
Aplicar un
operador
que estire
el histograma.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
15
A: imagen de entrada.
R: imagen resultante (del mismo tamao que A).
Operaciones unarias:
+
17
14
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Canales R y B
Canal Azul
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Canales G y B
Ejemplo de imagen
muy saturada
Canal Rojo
Canales R y G
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
18
19
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
20
Suma
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
21
0*b
22
128
f: curva
tonal
Valor de salida
255
El histograma se encoge.
0+a
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
64
128
192
255
Valor de entrada
23
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
24
255
255
255
192
64
128
192
255
64
128
192
255
128
64
0
64
128
192
255
64
128
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
192
255
25
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
26
A
Para imgenes en
color, se aplica la
misma funcin a los
tres canales (R,G,B)
64
128
Histograma de R
255
Ojo: no
necesariamente el
mximo
Histograma de A
192
192
64
Por 3: f(v):= 3v
64
128
192
0
64
128
192
128
128
128
192
128
64
0
0
0
64
192
Multiplicar 2: f(v):=2v
255
255
192
192
64
64
0
128
255
64
Resta: f(v):= v - a
255
255
128
192
128
64
0
0
255
Suma: f(v):= v + a
192
255
Identidad: f(v):= v
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
27
64
128
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
192
255
28
Histograma de A
5%
5%
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
29
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
30
64
128
192
255
Resultado: oscurecer
los medios tonos.
192
128
0
255
192
128
192
255
64
0
Valor de entrada
64
64
0
0
128
255
192
Raz: c1v0.5 + c2
128
255
192
128
64
0
Valor de salida
64
255
64
128
192
255
Valor de entrada
64
128
192
255
Valor de entrada
Resultado: aclarar
tonos oscuros y
oscurecer los claros.
Resultado: aclarar
los medios tonos.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Gama 0,5
Gama 0,75
31
Gama 2
Gama 4
32
192
Negro
64 128
Blanco
Gama 1
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
33
20%
20%
255
255
127
Algoritmo:
La funcin de ecualizacin es
f[0]:= 0
la integral del histograma,
acumulado:= Histograma[0]
escalada por el factor 255/np.
para i:= 1, ..., 254 hacer
f[i]:= acumulado*255/np
acumulado:= acumulado + Histograma[i]
finpara
f[255]:= 255
127
255
20%
192
20%
127
128
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
20%
64
64
128
192
255
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
35
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
36
Histograma de A
Histograma de R
Funcin f
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
37
255
192
255
128
192
255
Umbralizar la
imagen con valor cte.
64
0
64
Valor de entrada
38
64
128
128
192
255
192
128
64
Valor de salida
0
0
Umbral
superior
Umbral
inferior
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
64
128
192
255
Valor de entrada
64
128
192
255
Valor de entrada
Seleccionar un
rango
Cortar un rango y
mantener el resto
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
39
Imagen de entrada
(256 grises)
+
Umbral = 160
Umbral = 215
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
40
Imagen de entrada
Umbralizar, u = 42
Umbralizar, u = 180
41
42
A AND B
A OR B
A XOR B
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
45
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
46
Imgenes de entrada.
A
44
Imagen de
entrada
B
Imagen de
entrada
A
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Operadores booleanos:
T1
NOT C
2. T2:= A AND C
A
T2
C
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
47
R
T2
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
48
!?
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
Tema 2. Procesamiento global de imgenes.
49
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
50
A
R
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
51
a = 0,75
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
52
Imgenes
capturadas
de TV
53
Imagen
acumulada
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
54
Imgenes de
Quickcam
Modelo de
fondo
55
(A-B)*
B-A
B
[0..255] - [0..255] =
[-255..255] La mitad
de los pxeles se
saturan a 0
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
56
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
? Son muy
distintas...
(B-A)*
57
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
58
Frame 2
Frame 1
Dif.
x16
Dif.
x16
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
59
Idea: esto se
puede usar para
crear la mscara...
Cmo?
x2
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
60
x2
10
Proceso.
M
A
Frame 1
Diferencia x2
U
F
R
Cmo
arreglar eso?
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
62
AB
63
Frame 2
B1
B2
A*B1
A*B2
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
A/B
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
64
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
66
11
Resultado:
R:= A(255-N)/255 + BN/255
Resultado:
No me convence...
mejor un reborde
suave (difuminado)
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Producto de
imgenes
67
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
69
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
70
68
Frame 1
Frame 2
Fondo mximo
La mscara ya
est binarizada
71
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
72
12
73
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
74
(0,0,0)
(255,255,255)
Imagen de entrada
Grises (media)
Grises (precisa)
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
75
si A<128 entonces
R.R:= vrA/128; R.G:= vgA/128; R.B:= vbA/128
sino
R.R:= vr+(255-vr)(A-128)/128; R.G:= vg+(255-vg)(A-128)/128
R.B:= vb+(255-vb)(A-128)/128
finsi
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
76
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
Tema 2. Procesamiento global de imgenes.
77
R=
G=
B=
255
255
0
0
255
255
0
255
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
255
0
78
13
Imagen de entrada
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
79
81
R.R= A.B
R.G= A.R
R.B= A.G
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
80
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Imagen de entrada
R.R= A.G
R.G= A.B
R.B= A.R
82
R.R=
(A.R+A.B)/2
R.G=
(A.G+A.R)/2
R.B=
(A.G+A.B)/2
83
Imagen de entrada
Ajuste conjunto
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Ajuste separado
84
14
Conclusiones:
Las transformaciones globales se pueden realizar
igual en todos los canales o con valores distintos.
En el primer caso, habr un cambio en la intensidad.
En el segundo, puede haber tambin un cambio de
color.
Balance de blancos: compensar los canales para
obtener los colores ms realistas posibles.
Veremos ms cuestiones relacionadas con el color
cuando estudiemos espacios de color.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
85
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
86
Anexo A.2.
Operaciones unarias
Operaciones binarias
Operaciones con histogramas
Ejercicios
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Recordar: un
CvArr puede ser
un IplImage
89
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
88
Operaciones binarias:
cvAdd, cvAddWeighted, cvSub, cvAbsDiff, cvMul, cvDiv,
cvAnd, cvOr, cvXor, cvCmp, cvMax, cvMin
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
90
15
91
92
94
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
Tema 2. Procesamiento global de imgenes.
95
96
16
97
void cvSub (const CvArr* A, const CvArr* B, CvArr* C, const CvArr* mask=0)
si mask(x,y)0 entonces C(x,y):= A(x,y) - B(x,y)
Las imgenes deben tener el mismo tamao (o ROI) y el mismo tipo.
Igual que antes, tener cuidado con los problemas de saturacin.
Esta operacin tiene ms sentido cuando se usan tipos con signo (16S,
16F, 32F).
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
void cvOr (const CvArr* A, const CvArr* B, CvArr* C, const CvArr* mask=0)
si mask(x,y)0 entonces C(x,y):= A(x,y) OR B(x,y)
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
void Combina (const CvArr* A, const CvArr* B, const CvArr* N, CvArr* R);
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
101
100
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
98
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Implementacin 2.
#define CM(a,b,n) (a*(255-n)+b*n)/255.0
CvScalar pA, pB, pN, pR;
for (int y=0; y<A->height; y++)
for (int x= 0; x<A->width; x++) {
pA= cvGet2D(A, y, x);
pB= cvGet2D(B, y, x);
pN= cvGet2D(N, y, x);
pR.val[0]= CM(pA.val[0],pB.val[0],pN.val[0]);
pR.val[1]= CM(pA.val[1],pB.val[1],pN.val[1]);
pR.val[2]= CM(pA.val[2],pB.val[2],pN.val[2]);
cvSet2D(R, y, x, pR);
}
17
Ejemplos.
Histograma de 2 dimensiones
Histograma de 1
dimensin y 4 celdas
Bin 0
(0-63)
Bin 1
Bin 2
(64-127) (128-191)
Bin 3
Bin 0 (0-85)
(192-255)
Bin 1 (86-170)
Bin 0
Bin 1
(0-127)
(128-255)
Bin 2 (171-255)
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
103
105
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
104
106
107
108
18
109
111
110
112
19