Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema2 PDF
Tema2 PDF
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
Canal Rojo
127
Canal Verde
255
127
Canales R y G
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
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
14
Operaciones unarias:
16
Canales R y B
Canal Azul
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Canales G y B
17
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.
A
Para imgenes en
color, se aplica la
misma funcin a los
tres canales (R,G,B)
Ojo: no
necesariamente el
mximo
Histograma de A
64
128
Histograma de R
255
26
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
Funcin f
Histograma de R
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
37
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
38
64
128
192
255
Valor de entrada
Umbralizar la
imagen con valor cte.
39
Imagen de entrada
(256 grises)
Umbral = 160
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Umbral = 215
41
192
255
0
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
128
192
Umbral
superior
64
Umbral
inferior
64
64
128
128
192
Umbral
Valor de salida
255
255
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.
40
Imagen de entrada
Umbralizar, u = 42
Umbralizar, u = 180
42
Conclusiones:
en la misma posicin
43
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
44
Imagen de
entrada
B
Imagen de
entrada
A
A AND B
A OR B
A XOR B
45
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
46
Imgenes de entrada.
A
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
47
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
48
T1
NOT C
C
2. T2:= A AND C
A
T2
C
!?
3. R:= T1 OR T2
T1
Cuestiones:
Cmo crear la mscara de forma automtica?
La zona del pelo no se mezcla bien con el fondo.
Cmo evitar este problema?
T2
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
49
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
A
R
50
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
52
a = 0,25
a = 0,5
a = 0,75
53
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
54
Imgenes de
Quickcam
Imgenes
capturadas
de TV
Imagen
acumulada
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
55
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
B-A
Modelo de
fondo
56
(A-B)*
(B-A)*
[0..255] - [0..255] =
[-255..255] La mitad
de los pxeles se
saturan a 0
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
57
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
58
? Son muy
distintas...
Pxel negro: las dos imgenes son
iguales en ese pxel.
Cuando ms clara es una zona, ms
se diferencian las imgenes.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
59
Dif.
x16
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
60
10
Modelo de fondo
Frame 2
Frame 1
Idea: esto se
puede usar para
crear la mscara...
Cmo?
x2
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
61
F
R
62
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
64
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Diferencia x2
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Frame 2
Cmo
arreglar eso?
x2
Proceso.
65
B1
B2
A*B1
A*B2
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
66
11
67
Resultado:
R:= A(255-N)/255 + BN/255
Producto de
imgenes
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
69
Resultado:
R:= (A AND NOT M)
OR (B AND M)
No me convence...
mejor un reborde
suave (difuminado)
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
68
70
Fondo mximo
71
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
72
12
Frame 1
Frame 2
La mscara ya
est binarizada
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
73
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
74
Conversin sencilla:
Pero, de
R(x, y):= (A(x,y).R + A(x,y).G + A(x,y).B)/3 dnde salen
esos pesos?
Conversin precisa:
R(x, y):= 0.21A(x,y).R + 0.72A(x,y).G + 0.07A(x,y).B
75
Imagen de entrada
Grises (media)
Grises (precisa)
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
76
Imagen de entrada
R
(0,0,0)
(vr,vg,vb)
(255,255,255)
77
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.
78
13
255
0
0
255
255
0
255
255
0
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
81
80
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
82
R.R= A.B
R.G= A.R
R.B= A.G
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Imagen de entrada
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Imagen de entrada
79
255
R=
G=
B=
83
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
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
84
14
Imagen de entrada
Ajuste conjunto
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.
Ajuste separado
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
85
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
Anexo A.2.
Conclusiones:
Procesamiento global: el valor de un pxel de salida
depende del pxel (o pxeles) correspondientes de la
imagen de entrada.
Operaciones aritmticas, lgicas, no lineales, etc.
Distintas aplicaciones: mejora del contraste,
reduccin de ruido, composicin de imgenes, ajuste
del color, etc.
Los histogramas son una herramienta interesante en
este tipo de operaciones.
Normalmente no aparecen solas, sino combinadas
con otros procesamientos.
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
87
Recordar: un
CvArr puede ser
un IplImage
89
86
Operaciones unarias
Operaciones binarias
Operaciones con histogramas
Ejercicios
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
88
90
15
Operaciones binarias:
cvAdd, cvSub, cvAbsDiff, cvMul, cvDiv, cvAnd, cvOr, cvXor,
cvCmp, cvMax, cvMin
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
91
93
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
95
92
94
96
16
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.
98
void cvAnd (const CvArr* A, const CvArr* B, CvArr* C, const CvArr* mask=0)
si mask(x,y)0 entonces C(x,y):= A(x,y) AND B(x,y)
Tambin funciona con nmeros reales, pero para qu puede valer?
Para que tenga sentido, al menos alguna de las dos imgenes debera
ser binaria (0/255).
99
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
100
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);
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
101
Implementacin 2.
for (int y=0; y<A->height; y++)
for (int x= 0; x<A->width; x++) {
char Axy[3], Bxy[3], Nxy[3], Rxy[3];
iplGetPixel(A, x, y, Axy);
iplGetPixel(B, x, y, Bxy);
iplGetPixel(N, x, y, Nxy);
for (int k= 0; k<3; k++)
Rxy[k]= Axy[k]*(255-Nxy[k])/255.0 +
Bxy[k]*Nxy[k]/255.0;
iplSetPixel(R, x, y, Rxy);
}
102
17
Propiedades de un histograma:
103
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.
104
Crear un histograma:
105
106
107
108
18
Umbralizar un histograma:
void cvThreshHist (CvHistogram* hist, double thresh)
Borra todas las celdas con valor menor que thresh.
109
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
111
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
110
Ejercicios.
1. Implementar sendas operaciones para obtener el mximo y
el mnimo de dos imgenes, que trabajen con imgenes de 1
3 canales.
2. Escribir una funcin que realice una transformacin de
curva tonal arbitraria. Debe recibir como entrada un array de
256 bytes (la curva).
3. Implementar las operaciones de colorear una imagen, en los
modos de suma o producto.
4. Escribir un programa que realice la transformacin de color
falso, dada una imagen en escala de grises.
5. Escribir una operacin de ecualizacin del histograma, que
funcione de manera independiente por cada canal.
6. Implementar la transformacin de estiramiento lineal del
histograma, que permita especificar los percentiles mnimo y
mximo.
7. Escribir dos operaciones para mostrar el histograma de una
imagen, de un canal slo o de dos canales conjuntos. El
resultado debe ser una imagen (IplImage).
Procesamiento Audiovisual
Tema 2. Procesamiento global de imgenes.
112
19