Está en la página 1de 67

VISIÓN POR COMPUTADOR

TRANSFORMACIONES
DE UNA IMAGEN

Ingeniería en Mecatrónica

Universidad de Fuerzas Armadas


ESPE
Tema 4 Transformaciones de una Imagen 2

INTRODUCCIÓN
• Se plantea una aplicación: p.e. Encontrar las monedas
en la siguiente imagen:
• Diseñar un sistema de visión que sea capaz de hacer
eso implica:
• Diseño de cada una de las etapas del esquema siguiente.
Tema 4 Transformaciones de una Imagen 3

INTRODUCCIÓN
Iluminación

Cámara Digitalizador Computador

• Es decir: elegir el tipo de iluminación


• Cámara: b/n, color, resolución de la imagen.
Sensibilidad, velocidad.
• Diseñar un algoritmo que haga lo que
Escena
deseamos.
4
Tema 4 Transformaciones de una Imagen

INTRODUCCIÓN

• Diseño de las operaciones a realizar


sobre las imágenes.
• En este tema comenzaremos a ver qué
operaciones se pueden realizar. Computador
• Este conocimiento nos dará lugar a que,
al final del curso, seremos capaces de
diseñar un algoritmo de inicio a fin.
Tema 4 Transformaciones de una Imagen 5

Tabla de Contenidos

• Operaciones Puntuales

• Operaciones Locales

• Operaciones Globales

• Operaciones Geométricas
Tema 4 Transformaciones de una Imagen 6

Operaciones Puntuales
• Definición:
• El resultado de aplicarlas a un pixel depende
únicamente del valor de intensidad de ese pixel
• Pueden ser:
• Independientes de las características globales
• Con una sola imagen
• Transformaciones de una imagen según una función
• Entre varias imágenes
• Dependientes de las características globales de la
imagen
Tema 4 Transformaciones de una Imagen 7

Operaciones Puntuales
• Independientes de las Características Globales
• Operaciones de UNA imagen con una CONSTANTE
• Suma: g(x, y)=f(x,y) + K
• Resta: g(x, y)=f(x,y) - K
• Multiplicación: g(x, y)=f(x,y) * K
• División: g(x, y)=f(x,y)/K
• Máximo: g(x, y)=máx(f(x,y),K)
• Mínimo: g(x, y)=mín(f(x,y),K)
• Inversa: g(x, y)=255 - f(x,y)
0 si f(x, y) < K
• Umbralización: g(x, y) =
255 si f(x, y) >= K
Tema 4 Transformaciones de una Imagen 8

Operaciones Puntuales

• Ejemplo
+100

¿Brillo? →Aumenta

¿Contraste? →Igual /disminuye

x1.5

¿Brillo? →Aumenta
¿Contraste? →Aumenta
Tema 4 Transformaciones de una Imagen 9

Operaciones Puntuales
• Ejemplo

Original Inversa
Tema 4 Transformaciones de una Imagen 10

Operaciones Puntuales
• Ejemplo: deseamos extraer los objetos del fondo…
• ¿qué operación?
Umbral 70

Umbral 100
Tema 4 Transformaciones de una Imagen 11

Operaciones Puntuales
• Independientes de las Características Globales
• Transformaciones según una FUNCIÓN
• Transformación logarítmica
• Transformación exponencial

• Operaciones entre varias imágenes


• suma, resta, multiplicación, división
• máximo, mínimo
• AND, OR, XOR
Tema 4 Transformaciones de una Imagen 12

Operaciones Puntuales
• Ejemplo

Original Original con


Ruido
Gaussiano

Resta Resta x 6
Tema 4 Transformaciones de una Imagen 13

Operaciones Puntuales
• Ejemplo

Umbralizada
128

Min(Original,
Umbralizada)
Original
14
Tema 4 Transformaciones de una Imagen

Operaciones Puntuales: Booleanas

A B

A OR B
15
Tema 4 Transformaciones de una Imagen

Operaciones Puntuales: Booleanas

A B

A AND B
16
Tema 4 Transformaciones de una Imagen

Operaciones Puntuales: Booleanas

A B

A XOR B
17
Tema 4 Transformaciones de una Imagen

Operaciones Puntuales: Booleanas

A B

A OR
not(B)
Tema 4 Transformaciones de una Imagen 18

Operaciones Puntuales
• Dependientes de las Características Globales
• Manipulación del Histograma
• La ecualización del histograma persigue obtener una distribución
uniforme del histograma de la imagen.
• Autoescalados de la imagen / LUT

Original

Ecualización
Histograma
19
Tema 4 Transformaciones de una Imagen

Transformaciones de laImagen
• Ecualización del histograma

Ecualización
20
Tema 4 Transformaciones de una Imagen

Operaciones Puntuales:Autoescalado de la imagen

Origen Origen
Máx: 182 - 55
Mín: 55

Escalada

¿Cuál es la transformación?
f (x, y) − f (x, y)min
g(x, y)= MAX − MIN+MIN
f (x, y)max − f (x, y)min

¿Qué tipo de transformación es? ¿Por qué?


Tema 4 Transformaciones de una Imagen 21

Operaciones Puntuales
• Ejemplo:
• La imagen de la izquierda tiene el siguiente histograma.
Tema 4 Transformaciones de una Imagen 22

Operaciones Puntuales
• ¿Cómo es el histograma de la imagen I2?, con
• I2 = max(I, 90)
Tema 4 Transformaciones de una Imagen 23

Operaciones Puntuales
• ¿Cómo es el histograma de la imagen I3?, con
• I3 = min(I, 90)
Tema 4 Transformaciones de una Imagen 24

Operaciones Globales
• Look Up Table (LUT)
• Es una transformación de la distribución de intensidades de la
imagen
• Aplicaciones: Umbralizaciones, Realce, escalados, ….
• Se rellena una tabla cuyo tamaño coincide el espacio de intensidades ( p.e en
imágenes de 8 bits -> 28 =256)
• El valor de intensidad de cada pixel de la imagen de entrada se utiliza como índice
(i) de la tabla.
• El valor de intensidad para ese pixel en la imagen de salida es el valor de la tabla
LUT para ese índice:
0 186
1 170
2 172
3 168
Imagen Entrada 4 167 Imagen Salida
Intensidad Pixel . Intensidad Pixel
. .
.
.

.
.
252 21
253 20
254 20
255 20
Tema 4 Transformaciones de una Imagen 25

Tabla de Contenidos

• Operaciones Puntuales

• Operaciones Locales

• Operaciones Globales

• Operaciones Geométricas
Tema 4 Transformaciones de una Imagen 26

Operaciones Locales
• La imagen se transforma en función de los niveles de gris
de cada píxel considerado y de los de su entorno.
• Pueden ser:
• Lineales:
• Media en un entorno del pixel.
• Convolución.
• No lineales:
• Estadísticas: Mediana
• Analíticas

Transformación por cualquier función
• Media geométrica, armónica, contraarmónica ....
• Morfológicas
Tema 4 Transformaciones de una Imagen 27

Operaciones Locales
• Convolución:
g(x,y) = w1*f(x-1,y-1)+ w2*f(x,y-1)+ w3*f(x+1,y-1)+
w4*f(x-1,y)+ w5*f(x,y)+ w6*f(x+1,y)+
w7*f(x-1,y+1)+ w8*f(x,y+1)+ w9*f(x+1,y+1)

0,0 1,0 2,0 3,0 4,0 5,0

w1 w2 w3 0,1 1,1 2,1 3,1 4,1 5,1

w4 w5 w6 0,2 1,2 2,2 3,2 4,2 5,2

w7 w8 w9 0,3 1,3 2,3 3,3 4,3 5,3

Máscara 0,4 1,4 2,4 3,4 4,4 5,4

0,5 1,5 2,5 3,5 4,5 5,5

Imagen
Tema 4 Transformaciones de una Imagen 28

Operaciones Locales
• Convolución f(1,1)*w1+

0,0 1,0 2,0 3,0 4,0 5,0 f(2,1)*w2+

0,1 w1
1,1 w2
2,1 w3
3,1 4,1 5,1 f(3,1)*w3+

0,2 w4
1,2 w5
2,2 w6
3,2 4,2 5,2 f(1,2)*w4+

0,3 w7
1,3 w8
2,3 w9
3,3 4,3 5,3 G(2,2) = f(2,2)*w5+

0,4 1,4 2,4 3,4 4,4 5,4 f(3,2)*w6+


f(1,3)*w7+
0,5 1,5 2,5 3,5 4,5 5,5
f(2,3)*w8+

f(3,3)*w9
Tema 4 Transformaciones de una Imagen 29

Operaciones Locales
• Convolución

1 1 1
1/9 1 1 1
1 1 1

-1 0 1
-1 0 1
-1 0 1
Tema 4 Transformaciones de una Imagen 30

Operaciones Locales
• Convolución (Problemas):
• Contornos: no se dispone de suficiente información
• Se asume un valor constante
• Se considera transparente

w1 w2 w3

w4 w5
0,0 w6
1,0 2,0 3,0 4,0 5,0

w7 w8
0,1 w9
1,1 2,1 3,1 4,1 5,1

0,2 1,2 2,2 3,2 4,2 5,2

0,3 1,3 2,3 3,3 4,3 5,3

0,4 1,4 2,4 3,4 4,4 5,4

0,5 1,5 2,5 3,5 4,5 5,5


Tema 4 Transformaciones de una Imagen 31

Operaciones Locales
• Convolución (Problemas):
• Saturaciones:
• El resultado de la convolución puede superar el valor máximo o mínimo
que podemos almacenar en un pixel (8 - 16 bits)

1 1 1
1/9 1 1 1
1 1 1

1 1 1
1/4 1 1 1
1 1 1
Tema 4 Transformaciones de una Imagen 32

Operaciones Locales
• Ejercicios rápidos: Plantee una máscara que haga:
• Máscara para extraer bordes:
• Verticales.
• Horizontales.
• Diagonales.
• Máscara para hallar el Brillo de una imagen.
• Máscara para hallar la media en un entorno de 7x7.
• Máscara para desplazar una imagen (x, y) pix.
• Suponiendo que tenemos una imagen digital (1 y
ceros).
• Plantear una máscara que me permita detectar pixeles
aislados (no tienen vecinos, en conexión a 8).
• Plantear una máscara que me permita detectar un patrón.
Tema 4 Transformaciones de una Imagen 33

Tiempos de cálculo
• Asuma:
• Una imagen de 640x480 pixels se convoluciona.
• Suponga que se usa una máscara de convolución de 3x3 pixels, como la
siguiente
• Una operación de suma de dos enteros (byte) tarda 1ns en nuestro
procesador.
• Una operación de multiplicación de dos enteros (byte) tarda 5ns en
nuestro procesador.
• Una operación de asignación tarda 0.5 ns.
• Calcule el número total de operaciones necesarias de cada tipo.
• Realice una predicción del tiempo total necesario para el procesado de la
imagen.
1 2 1
2 4 2
1 2 1
34
Tema 4 Transformaciones de una Imagen

Transformaciones de laImagen

• Operaciones no lineales
11
• Analíticas
• Media geométrica
Geom. =
MGeom.  d(r, c)
d(r,c) N22
N

(r,c)W
(r ,c)W
• Media armónica
• Media contra-armónica N2
• Media de potencia M Harmónica ==
 1
d(r,c)
(r ,c)W d(r, c)
• Estadísticas
• Mediana
Tema 4 Transformaciones de una Imagen 35

Operaciones Locales
• No Lineales
• Mediana

10 90 30

25 50 67

26 28 80

10 25 26 28 30 50 67 80 90
Tema 4 Transformaciones de una Imagen 36

Operaciones Locales
• No Lineales
• Estadísticas

Filtro
Mediana
(no lineal)

Filtro
Original + Media
Ruido Aleatorio (lineal!)
Tema 4 Transformaciones de una Imagen 37

Operaciones Locales
• No Lineales
• Morfológicas

• Relacionadas con la estructura geométrica de los objetos


• Depende del ’elemento estructurante’

• En imágenes binarias:
• Erosión
• Dilatación
• Adelgazamiento y esqueletización
• Opening
• Closing

• En imágenes multinivel:
• Extensión de las mismas operaciones
Tema 4 Transformaciones de una Imagen 38

Operaciones Locales
• Erosión y dilatación:
• Dependen de la forma del elemento estructurante y de la imagen

0,0 1,0 2,0 3,0 4,0 5,0

0,1 1,1 2,1 3,1 4,1 5,1

0,2 1,2 2,2 3,2 4,2 5,2

0,3 1,3 2,3 3,3 4,3 5,3

0,4 1,4 2,4 3,4 4,4 5,4

0,5 1,5 2,5 3,5 4,5 5,5


Elemento estructurante
Imagen
39
Tema 4 Transformaciones de una Imagen

Transformaciones de laImagen

• Erosión y dilatación

0,0 1,0 2,0 3,0 4,0 5,0

0,1 1,1 2,1 3,1 4,1 5,1 Erosión: Min

0,2 1,2 2,2 3,2 4,2 5,2

0,3 1,3 2,3 3,3 4,3 5,3 Dilatación: Max


0,4 1,4 2,4 3,4 4,4 5,4

0,5 1,5 2,5 3,5 4,5 5,5


Tema 4 Transformaciones de una Imagen 40

Operaciones Locales
• Erosión de imágenes binarias
Tema 4 Transformaciones de una Imagen 41

Operaciones Locales
• Dilatación de imágenes binarias
Tema 4 Transformaciones de una Imagen 42

Operaciones Locales
• Erosión de una imagen multinivel
Tema 4 Transformaciones de una Imagen 43

Operaciones Locales
• Dilatación de una imagen multinivel
44
Tema 4 Transformaciones de una Imagen

Transformaciones de laImagen

• Opening y Closing
• Encadenamiento de pares de operaciones
• Erosión
• Dilatación
• El orden de aplicación no es siempre el mismo
• Opening
• Erosión + Erosión + Dilatación + Dilatación
• Closing
• Dilatación + Dilatación + Erosión + Erosión
Tema 4 Transformaciones de una Imagen 45

Tabla de Contenidos

• Operaciones Puntuales

• Operaciones Locales

• Operaciones Globales

• Operaciones Geométricas
Tema 4 Transformaciones de una Imagen 46

Operaciones Globales
• Operaciones globales
• La imagen se transforma globalmente sin considerar
los pixeles de forma individual, realizándose un cambio
de dominio
• Entre las más empleadas:
• Transformada de Fourier
• Filtrado de ruido
• Frecuencias altas y bajas de la imagen
• Transformada discreta del coseno
• Transformada de Hough
• Cambio entre modelos de color
• También se definen sus transformadas inversas
Tema 4 Transformaciones de una Imagen 47

Operaciones Globales
• Transformada de Fourier
Dominio
h(x,y) Espacio

f(x,y) g(x,y)=
f(x,y)*h(x,y)

TF TF-1

H(u,v) Dominio
G(u,v)=
F(u,v) Frecuencia
F(u,v)H(u,v)

1 N−1 N−1 − j(ur+vc)2


F(u,v)=
N
I(r,c)e N

r=0 c=0
Tema 4 Transformaciones de una Imagen 48

Operaciones Globales
• Ejemplo: Frecuencia baja
Tema 4 Transformaciones de una Imagen 49

Operaciones Globales
• Ejemplo: Frecuencia alta
Tema 4 Transformaciones de una Imagen 50

Operaciones Globales

1 1 1 F[]
h(x,y) 1/9
1 1 1
1 1 1

f’(x,y)=f(x,y)*h(x,y)

f’(x,y)=F-1[F(u,v)*H(u,v)]

¿Qué tipo de
filtro es H(u,v)?
51
Tema 4 Transformaciones de una Imagen

Operaciones Globales

-1 -1 -1
F[]
h(x,y) -1 8 -1
-1 -1 -1

f’(x,y)=f(x,y)*h(x,y)

f’(x,y)=F-1[F(u,v)*H(u,v)]

¿Qué tipo de
filtro es H(u,v)?
Tema 4 Transformaciones de una Imagen 52

Tabla de Contenidos

• Operaciones Puntuales

• Operaciones Locales

• Operaciones Globales

• Operaciones Geométricas
Tema 4 Transformaciones de una Imagen 53

Operaciones Geométricas
• Operaciones geométricas
• La posición de cada pixel en la imagen resultado depende de la
posición en la imagen origen
• Las más usadas:
• Homotecia, zoom (ampliar una zona de la imagen)
• Traslación
• Rotación
• Warping, corrección de distorsiones
• Morphing, transformación suave entre varias imágenes
Tema 4 Transformaciones de una Imagen 54

Operaciones Geométricas
• Warping
• Correspondencia entre las posiciones de los pixels en la imagen de entrada y
posiciones de los pixels en la imagen de salida

Transformación
Geométrica
I(r,c) D(r’, c’)
r’= R(r,c)
c’= C(r,c)

▪ Para determinar las ecuaciones es necesario identificar un conjunto de puntos


de la imagen de entrada que tengan correspondencia con un conjunto de
puntos de la imagen de salida (tiepoints)
▪ Estas ecuaciones suelen ser bilineales
Tema 4 Transformaciones de una Imagen 55

Operaciones Geométricas
• Warping
1. Definir los cuadriláteros sobre la imagen con unos puntos ‘tiepoints’ conocidos
2. Encontrar las ecuaciones R(r,c) y C(r,c) para estos puntos
3. Establecer una correspondencia entre los puntos dentro de este cuadrilátero y la
imagen final

I(r,c)
d(r̂,ĉ)
Tema 4 Transformaciones de una Imagen 56

Operaciones Geométricas

Warping
Tema 4 Transformaciones de una Imagen 57

Operaciones Geométricas
58
Tema 4 Transformaciones de una Imagen

Operaciones Geométricas: Interpolación


• Consideremos p.e. una rotación

Pixel Pixel
Pixel (i, j),
(i’, j’) (x,y)
intersección

• Las nuevas coordenadas no “caen”sobre ningún pixel en particular.


Las nuevas coordenadas transformadas no son enteras. ¿Cómo se
forma la imagen resultado? ¿?
Tema 4 Transformaciones de una Imagen 59

Operaciones Geométricas:
• Por ejemplo, para el pixel (x,y) podemos tomar el valor del pixel
(i’,j’)más próximo (rápido)

Pixel
(x,y)

Otra solución es calcular el valor medio de los pixeles que


rodean a (x, y)
Tema 4 Transformaciones de una Imagen ISA-UMH 60

Operaciones Geométricas: Interpolación


• Procedimiento:
• Determinar las coordenadas (i’, j’) de los pixeles transformados.
• Calcular los valores de los pixeles (su nivel de gris) a partir de
los valores conocidos de los píxeles (i’, j’) →Interpolación
• P. e. interpolación bilineal
• x, y, coordenadas de pixeles de la imagen final (enteros)
• i’,j’,coordenadas de pixeles de la imagen transformada

p(x, y) = a1 p(i', j') + a2 p(i', j'+1) + a3 p(i'+1, j') + a4 p(i'+1, j'+1)


a1 = (1− dx)(1− dy) p(x, y)
a2 = dx(1− dy)
a3 = (1− dx)dy dy
a4 = dxdy
p(i’, j’)

p(i’+1, j’+1)
61
Tema 4 Transformaciones de una Imagen

Operaciones Geométricas: Interpolación

• Ventajas
• Inconvenientes
Tema 4 Transformaciones de una Imagen 63

Operaciones: Resumen
Indep. de Una imagen Suma, resta, mult, Inversa
Puntuales división por cte.
caract.
globales umbralización Cualquier función
Varias Suma, resta, Máximo, mínimo.
mult, división. Lógicas: AND,
imágenes
OR, NOT, XOR
Dep. de Una imagen Ecu. Del Autoescalado
histograma.
caract.
globales
Locales lineales Una imagen Convolución Media en un
entorno
No lineales Mediana Op. Morfológicas.
Erosión, dilatación

Globales Cambio de Una imagen Tr. Fourier.


Tr. Hough
dominio

Geométricas Cambio en pos Una imagen Zoom, Traslación, Warping


del pixel Rotación
Cambios en la Morphing
posición y el valor
Tema 4 Transformaciones de una Imagen 64

Ejemplo: tren delaminación

• Ilumina ción difusa no coherente


a) Muestra Correcta b) Defecto Baja Frecuencia c) Defecto Alta Frecuencia

• Patrón de Interferencia: luz coherente


Tema 4 Transformaciones de una Imagen 65

Análisis Frecuencial

a) Muestra Correcta b) Defecto Baja Frecuencia c) Defecto Alta Frecuencia


Tema 4 Transformaciones de una Imagen 66

5
5
dp dp
4
4

3
F F T s p ect ru m

FFT spectrum
3

2 2

1 1

0 0
-64 -48 -32 -16 0 16 32 48 64 -64 -48 -32 -16 0 16 32 48 64
Distance t o t he FFT center (pixels) Distance to the FFT center (pixels)

(a) (b)

4
FFT spectrum

0
-64 -48 -32 -16 0 16 32 48 64
Distance to the FFT center (pixels)

Muestra correcta
Tema 4 Transformaciones de una Imagen 67

Ejemplo
• Deseamos extraer la posición en la cámara de la siguiente marca.
¿Qué operación debemos realizar?
Tema 4 Transformaciones de una Imagen 68

Ejemplo
• Deseamos extraer la posición en la cámara de la siguiente marca.
• ¿Qué operación debemos realizar?.
• ¿Qué tipo de operación es?
• ¿Qué precisión puedo obtener en la detección del punto?
• ¿Qué ocurre si acerco/alejo la cámara?
• ¿Qué ocurre si cambia la iluminación de la escena?
• ¿Qué ocurre si la cámara rota sobre su eje óptico?

• SLAM

También podría gustarte