Procesamiento Digital de Imgenes - PowerPoint PPT Presentation

1 / 121
About This Presentation
Title:

Procesamiento Digital de Imgenes

Description:

Para la siguiente m scara: ... Con la m scara siguiente se obtiene mayor ... Generalmente se utilizan m scaras para poder encontrar alguna caracter stica ... – PowerPoint PPT presentation

Number of Views:573
Avg rating:3.0/5.0
Slides: 122
Provided by: juancarlos5
Category:

less

Transcript and Presenter's Notes

Title: Procesamiento Digital de Imgenes


1
Procesamiento Digital de Imágenes
  • M.C. Juan Carlos Olivares Rojas
  • jolivares_at_uvaq.edu.mx
  • Mayo, 2009

2
Agenda
  • Introducción
  • Transformaciones punto a punto.
  • Transformaciones de 2 imágenes.
  • Operaciones de vecindad.
  • Transformaciones lógicas y geométricas.

3
Agenda
  • Detección de bordes.
  • Extracción de Regiones.
  • Detección de Movimiento.
  • Detección de objetos 3D.

4
Introducción
  • El Procesamiento Digital de Imágenes es un área
    de la graficación por computadora muy importante.
  • Los fundamentos del Procesamiento Digital de
    Imágenes están íntimamente relacionados con el
    tratamiento de señales, por lo que se les puede
    aplicar elementos como filtros, transformación,
    detección, extracción de elementos, entre otras
    cosas.

5
Procesamiento Digital de Imágenes
  • Mejorar la calidad de las imágenes para su
    posterior interpretación por una persona.
  • Objetivo
  • Remover objetos
  • Remover problemas por movimiento o desenfoque.
  • Mejorar ciertas propiedades (color, contraste,
    brillo, etc.).

6
Visión Artificial
  • Extraer características de la imagen para su
    descripción e interpretación por una computadora.
  • Objetivos
  • Determinar la localización y tipo de objetos en
    la imagen.
  • Construir una representación tridimensional de un
    objeto.
  • Analizar un objeto para determinar sus
    características.

7
Aplicaciones
  • Aplicación
  • Robótica móvil y vehículos autónomos.
  • Manufactura (localización, identificación y
    ensamblado de piezas).
  • Interpretación de imágenes aéreas y de satélite.
  • Análisis e interpretación de imágenes médicas.
  • Interpretación de escritura, dibujos, planos.
  • Análisis de imágenes microscópicas en química,
    física, biología.
  • Monitoreo de objetos y personas (control y
    seguridad).

8
Aplicaciones
  • Mediciones.
  • Empaque.
  • Robótica.
  • Verificación de ensambles.
  • Inspección Industrial.
  • Inspección de Papel y Madera.
  • OCR

9
Empaque
10
OCR
11
Inspección de Alimentos
12
Procesamiento
13
Calidad de la Imagen
Mala
Buena
14
Iluminación
  • La iluminación también juega un papel muy
    importante en el proceso de adquirir buenas
    imágenes aptas para procesamiento

15
Detección de Bordes
16
Segmentación
17
Segmentación
18
Proyectos de Visión Artificial
19
Proyectos de Visión Artificial
Experimento No. 8
MODULO DE LOCALIZACIÓN
MODULO DE SEGUIMIENTO
20
Proyectos de Visión
21
Proyectos de Visión
22
Procesamiento de Visión Artificial
23
Introducción
  • La adquisición de la imagen consiste en la
    obtención de una señal visual del mundo analógico
    al digital (cámara fotográfica, video, escáner,
    etc.).
  • La limpieza consiste en eliminar aspectos como el
    ruido al aplicar filtros o bien mejorar la
    calidad de la imagen.

24
Introducción
  • El proceso de segmentación consiste en dividir la
    imagen en sus partes principales.
  • Presentación y Descripción en base a la
    segmentación se describe cada parte.
  • Interpretación y Reconocimiento dado el
    descriptor de un objeto se compara con la
    descripción que se cuenta en la base de
    conocimientos y se realiza una acción.

25
Introducción
  • Base de Conocimientos es un repositorio donde se
    almacén la descripción de diversos objetos que
    serán útiles en el reconocimiento de patrones
    (formas visuales).

1 punto en 8 píxel
Normal
26
Introducción
4 Niveles de Gris
256 Niveles de Gris
27
Introducción
Valores del Ojo
Ojo de Lena
28
Características de las Imágenes
  • Antes de entrar a los algoritmos y métodos de
    procesamiento digital de imágenes es conveniente
    ver las características de las imágenes.
  • Histograma es una gráfica en el cual se cuenta la
    frecuencia de color, es útil para cambiar la
    intensidad de luz de una imagen respetado sus
    atributos característicos.

29
Histograma
Histograma de Lena Normal
Histograma de Lena Obscuro
30
Ruido
  • Se considera ruido a toda aquella variación de la
    tonalidad de la imagen no debida a la luz
    recibida.
  • Existen diversos tipos de ruidos correlados
    (cuando depende de la posición del pixel), no
    correlados (cuando depende de la posición del
    pixel, se basan en distribuciones de probabilidad
    como la Gaussiana) y los ruidos aleatorios o de
    sal y pimienta.

31
Ruido
Normal
Ruido Gaussiano
Ruido Correlado
Ruido Aleatorio
32
Brillo
  • Se define como brillo al nivel medio de gris de
    una imagen.

Brillo 104
Brillo 56
33
Contraste
  • Es la variación de gris de un punto respecto al
    brillo de la imagen. Se puede definir de forma
    aproximada con bajo consumo de recursos
    computacionales como
  • La definición correcta es

34
Contraste
C1 95.81 C2 26.45
C1 94.42 C2 10.56
35
Nitidez
  • Es la respuesta de la imagen ante cambios bruscos
    de iluminación.

36
Nitidez
  • La baja nitidez de una imagen puede estar
    motivada por
  • Objetos fuera del rango de enfoque de la óptica.
  • Deficiencias en el elemento sensor.
  • Efectos de algoritmos de tratamiento de imágenes.

37
Nitidez
Nitidez 18.245
Nitidez 9.777
38
Diferencia Cuadrática de Dos Imágenes
  • La diferencia es útil cuando se desea calcular el
    grado de variación de una imagen obtenida con un
    algoritmo de procesamiento de imagen con respecto
    a la original.
  • En donde Fr es la imagen base y f la imagen que
    se desea analizar.

39
Diferencia Cuadrática de Dos Imágenes
ECT28.957, ECN26.536
40
Transformaciones Punto a Punto
  • Son las transformaciones más simple sobre una
    imagen o señal.
  • Las imágenes se pueden representar como matrices
    de puntos, donde cada punto tiene asociado un
    modelo de color.
  • Un ejemplo básico sería la multiplicación por un
    escalar.

41
Transformación Punto a Punto
  • Algunos ejemplos de transformaciones puntuales
  • Suma.
  • Resta.
  • Multiplicación.
  • División.
  • Máximo.
  • Mínimo.
  • Umbralización.
  • Inversa.

42
Transformación Punto a Punto
Inversa
Original
43
Adquisición de Imágenes
  • Una imagen no es otra cosa que una señal (función
    en el tiempo),la cual representa un conjunto de
    puntos en un plano cartesiano y en donde cada
    punto tiene asociado un valor de intensidad
    (color) de un rango válido.
  • Para este curso se utilizará Java en su forma
    nativa (Clase PixelGrabber) así como algunas
    otras APIs como J2ME

44
PixelGrabber
  • //Carga de una imagen
  • import java.awt.
  • import java.awt.event.
  • import java.awt.image.
  • public class Carga extends Frame
  • Image imagen, imagenNueva
  • int ancho, alto, insetArriba, insetIzqda

45
PixelGrabber
  • Public Carga()
  • imagen Toolkit.getDefaultToolkit().getImage("ima
    gen_01.jpg")
  • MediaTracker tracker new MediaTracker( this )
  • tracker.addImage( imagen,1 )
  • try
  • if( !tracker.waitForID( 1,10000))

46
PixelGrabber
  • System.out.println( "Error en la carga" )
  • System.exit( 1 )
  • catch( InterruptedException e )
  • System.out.println( e )
  • ancho imagen.getWidth( this )
  • alto imagen.getHeight( this )
  • this.setVisible( true )
  • insetArriba this.getInsets().top
  • insetIzqda this.getInsets().left

47
PixelGrabber
  • this.setSize(insetIzqdaancho, insetArriba(2alto
    ) )
  • this.setTitle( "Cargar una Imagen" )
  • this.setBackground( Color.yellow )
  • int pix new intancho alto
  • try
  • PixelGrabber pgObj new PixelGrabber(
    imagen,0,0,ancho,alto,pix,0,ancho )
  • if( pgObj.grabPixels() ( (pgObj.getStatus()
    ImageObserver.ALLBITS ) ! 0 ) )

48
PixelGrabber
  • For ( int i0 i lt (anchoalto) i )
  • System.out.println(valpixi)
  • else
  • System.out.println( "Problemas al descomponer la
    imagen" ) catch( InterruptedException
    e ) System.out.println( e )
  • imagenNueva this.createImage( new
    MemoryImageSource(ancho,alto,pix,0,ancho ) )

49
PixelGrabber
  • this.addWindowListener(new WindowAdapter()
    public void windowClosing( WindowEvent evt )
    System.exit( 0 ))
  • public void paint( Graphics g )
  • if( imagenNueva ! null )
  • g.drawImage( imagen,insetIzqda,insetArriba,this
    )
  • g.drawImage( imagenNueva,insetIzqda,insetArribaal
    to,this )

50
PixelGrabber
  • public static void main (String args)
  • Cargar obj new Cargar()
  • obj.repaint()

51
Operador Identidad
  • Este operador crea una imagen de salida que es
    idéntica a la imagen de entrada.
  • Función de transformación

52
Operador Identidad
Transformación
Imagen 1
53
Operador Inverso o Negativo
  • Este operador crea una imagen de salida que es la
    inversa de la imagen de entrada.
  • Para una imagen con valores de gris en el rango
    de 0 a 255 la función de transformación es

54
Operador Inverso o Negativo
Transformación
Imagen 1
55
Operador Umbral
  • Se crea una imagen de salida binaria a partir de
    una imagen de grises, donde el nivel de
    transición está dado por el parámetro de entrada
    p1.
  • Función de transformación

56
Operador Umbral
Transformación
Imagen 1
57
Operador Umbral Binario
  • Esta clase de transformación crea una imagen de
    salida binaria a partir de una imagen de grises,
    donde todos los valores de gris cuyo nivel está
    en el intervalo definido por p1 y p2 son
    transformados a 255, y todos los valores fuera de
    ese intervalo a 0.
  • Función de transformación

58
Operador Umbral Binario
59
Operador Intervalo Umbral Binario
Transformación
Imagen 1
60
Operador Intervalo Umbral Binario Invertido
  • Esta clase de transformación crea una imagen de
    salida binaria a partir de una imagen de grises,
    donde todos los valores de gris cuyos niveles
    están en el intervalo definido por p1 y p2 son
    transformados a 0, y todos los valores fuera de
    ese intervalo a 255.
  • Función de transformación

61
Operador Intervalo de Umbral Binario Invertido
62
Operador Intervalo de Umbral Binario Invertido
Transformación
Imagen 1
63
Operador Umbral Escala de Grises
  • Se crea una imagen de salida con los únicos
    valores de nivel de gris comprendidos en el
    intervalo definido por p1 y p2, y el resto a 255.
  • Función de transformación

64
Operador Umbral Escala Grises
Transformación
Imagen 1
65
Operador Umbral Escala Grises Invertido
  • Se crea una imagen de salida con los únicos
    valores de nivel de gris invertidos comprendidos
    en el intervalo definido por p1 y p2, y el resto
    a 255.
  • Función de transformación

66
Operador Umbral Escala de Grises Invertido
Transformación
Imagen 1
67
Operador de Extensión
  • Proporciona una imagen de salida con la escala de
    grises completa correspondiente al intervalo de
    entrada definido por p1 y p2, y suprime todos los
    valores fuera de este rango.
  • Función de transformación

68
Operador de Extensión
Transformación
Imagen 1
69
Operador de Reducción del Nivel de Gris
  • Proporciona una imagen de salida con un menor
    número de niveles de gris respecto de la imagen
    original de entrada, la imagen de entrada es
    reducida a n1 niveles de gris.
  • Función de transformación

70
Transformaciones de 2 imágenes
  • La transformación de dos imágenes generalmente
    hace referencia a que se utiliza otra matriz para
    modificar cierto aspecto de los atributos de la
    señal original. Por ejemplo la intensidad, los
    tonos de luz, etc.
  • Se pueden utilizar algunos operadores como la
    multiplicación, suma de matrices, entre otras.

71
Transformación de Dos Imágenes
  • Algunos ejemplos de operaciones son
  • Suma.
  • Resta.
  • Multiplicación.
  • División.
  • Máximo.
  • Mínimo.
  • AND.
  • OR.
  • XOR.

72
Transformación de dos Imágenes
Imagen con ruido Gausiano
original
Diferencia multiplicada por 6
Diferencia entre las imagen
73
Transformaciones de Dos Imágenes
Original Umbralizada 128
Imagen Inversa de la Umbralizada 128
Mínimo de la Inversa Umbralizada 128 y la original
74
Transformación Punto a Punto
  • Para esta transformación se utilizan 2 imágenes
    de entrada A y B, para crear una nueva imagen C.
  • La dimensión de las imágenes es la misma.
  • La función de la transformación fD puede ser
    lineal o no.
  • Esta función se aplica a todos los pares de
    pixeles en las imágenes de entrada.

75
Transformación Punto a Punto
  • La función característica esta dada por la
    siguiente ecuación
  • La función fD puede ser adición, sustracción,
    multiplicación, división, exponenciación, máximo,
    o cualquier otra función que se pueda definir.

76
Transformación Punto a Punto
  • La función deberá tener un factor de escala
    apropiado k para mantener los valores de salida
    dentro de un rango adecuado, así como para evitar
    desbordamientos y valores negativos.
  • La transformación implica dos variables asociadas
    con los pares de pixeles

77
Transformación Punto a Punto
78
Suma (Adición)
  • La adición puede utilizarse para reducir los
    efectos del ruido en la imagen.
  • El valor de salida es
  • Donde k es 2 para el caso de las 2 imágenes de
    entrada.
  • Los valores de salida finales deben redondearse
    por defecto o por exceso.

79
Sustracción
  • La sustracción es técnica útil para detectar el
    cambio producido en dos imágenes que han sido
    captadas en 2 instantes de tiempo diferentes.
  • Los datos de ambas imágenes también pueden
    representar pérdidas de calor o frío, o si la
    fuente de datos es el espectro infrarrojo.

80
Sustracción
  • Puesto que en el procesamiento de imágenes se
    utilizan números positivos, es necesario definir
    la salida de alguna manera que haga todos los
    valores positivos, esto implica un reescalado
    donde el valor mas negativo se corresponde con el
    0 y el máximo con el 255 para la escala de grises
    del 0 al 255.

81
Adición y Substracción
Imagen 2
Imagen 3
Suma 23
Resta 2-3
82
Operadores de Vecindad
  • En esta transformación, el nuevo valor del pixel
    en la imagen de salida, depende de la combinación
    de los valores de los pixeles en la vecindad del
    pixel de la imagen original que esta siendo
    transformada.
  • Lo que resta definir son los valores de la
    ponderación, lo cual se hace generalmente
    definiendo una máscara con valores constantes,
    dicha máscara es un filtro.

83
Operadores de Vecindad
  • Para la siguiente máscara
  • El valor del pixel q(x,y) esta dado por la suma
    ponderada, la cual nos da el efecto de Repujado
    en Relieve

84
Operadores de Vecindad
Transformación
Imagen 1
85
Operador Vecindad Mayor Contraste
  • Con la máscara siguiente se obtiene mayor
    contraste

Transformación
Imagen 4
86
Transformaciones Globales
  • La transformación depende de todos los puntos de
    la imagen. Pueden utilizarse estadísticos como en
    la ecualización o máximos y mínimos para el
    escalado de imágenes.

87
Transformaciones Globales
Imagen Ecualizada
Imagen Original
88
Operaciones de vecindad
  • Antes de ver los operadores de vecindad conviene
    recalcar las formas en que ésta se da.

Vecindad a 4
Vecindad a 8
89
Reducción de Ruido
  • Los operadores de vecindad permiten definir
    filtros para la eliminación de ruido en las
    imágenes.
  • El promedio del entorno de vecindad es un filtro
    lineal en el cual se promedian los valores de
    intensidad de un punto en base a sus vecinos.

90
Reducción de Ruido
Entorno de vecindad
Imagen con ruido gausisano s5
Imagen Filtrada
91
Reducción de Ruido
  • Existen otros filtros como los no lineales o
    estadísticos. Donde el algoritmo y los entornos
    de vecindad cambian.
  • No todos los filtros aplican de la misma manera a
    las imágenes por lo que se debe probarlos.

92
Transformaciones lógicas
  • Generalmente se utilizan máscaras para poder
    encontrar alguna característica útil en las
    imágenes
  • AND.
  • OR.
  • XOR.

93
Transformaciones Lógicas
Imagen 5
Imagen 6
Binarización de 5 (umbral 128)
Binarización de 6 (umbral 128)
94
Transformaciones Lógicas
Negación de la Binarización de 5
Negación de la Binarización de 6
Operación OR entre 5 y 6
Operación AND entre 5 y 6
95
Transformaciones Lógicas
Operación XOR entre 5 y 6
Transformación 5 lt 6
96
Transformaciones geométricas
  • La imagen se transforma, realizándose un cambio
    de variables pero no de dominio.
  • La posición de cada píxel es función de la
    posición del píxel correspondiente en la imagen
    original, y viene determinada por una
    transformación geométrica.

97
Transformaciones Geométricas
  • Entre las más empleadas están  
  • Homotecia.
  • Zoom.
  • Traslación.
  • Rotación. Transformación de Hotelling.
  • Warping. Corrección de distorsiones.
  • Morphing.

98
Transformaciones Globales
  • La imagen se transforma en globalmente, sin
    considerar los píxels de forma individual,
    realizándose un cambio de dominio. Entre las más
    empleadas están
  • Transformada de Fourier.
  • Transformada de Hadamard-Walsh.
  • Transformada de Karhunen-Loève (KLT).
  • Transformada discreta del coseno (DLT).

99
Transformaciones Globales
  • Transformada de Hough.
  • Cambio entre modelos del espacio de colores.
  • Y sus correspondientes transformadas inversas.

100
Detección de bordes.
  • Se denomina borde en una imagen a cualquier
    discontinuidad que sufre alguna función de
    intensidad sobre los puntos de la misma.
  • En la proyección bidimensional de una escena
    tridimensional intervienen distintos tipos de
    bordes

101
Detección de Bordes
  • Cambio brusco en la distancia cámara-objetos, con
    normal continua (dc) o con discontinuidad en la
    normal (dnc).
  • Cambio en la normal del objeto (n).
  • Cambio en la reflectancia del objeto (r).
  • Cambio en la proyección de la luz incidente (s).

102
Detección de Bordes
103
Detección de Bordes
Realce de Bordes Operador Sobel
Aplicación del Umbral
Imagen Original
104
Detección de Bordes
  • También se utilizan los gradientes.
  • La detección de bordes es la primera parte para
    la segmentación. Consiste en determinar los
    cambios de intensidad de los pixeles, es muy
    sensible al ruido.
  • Esta técnica nos permitirá más adelante extraer
    características de las regiones de la imagen.

105
Extracción de Regiones
  • Una vez que se ha podido segmentar una imagen, es
    posible extraer toda la información de una
    imagen, la cual no es otra cosa que otra matriz.
  • A esa matriz se le pueden hacer comparaciones
    como por ejemplo para detectar el reconocimiento
    de escritura en un PDA o el reconocimiento de una
    huella digital.

106
Detección de Movimiento
  • La detección de movimientos ocurre cuando se
    realiza una comparativa entre dos imágenes muy
    similares.
  • Se debe realizar una segmentación de la imagen
    para poder ubicar un área sobre la cual trabajar
    y notar las diferencias.
  • Las imágenes deben tener las mismas
    características.

107
Detección de Movimiento
  • Cualquier dispositivo de adquisición de video
    debe permitir el poder almacenar y manipular
    imágenes de manera individual.
  • Al detectar movimiento surgen algunas preguntas
    de interés
  • Cómo detectar el movimiento de un ojo?
  • Cómo detectar el movimiento de una persona?

108
Detección de Movimiento
  • Qué ocurre cuando una imagen es totalmente
    diferente a otra?
  • Para auxiliarse en la detección de movimiento se
    suele utilizar puntos clave que ayuden a detectar
    los movimientos. En un cuerpo humano esos puntos
    clave son generalmente las extremidades codos,
    rodillas, tobillo, dedos, etc. y depende de lo
    que se va a tratar de detectar.

109
Detección de objetos 3D
  • Para poder detectar figuras en 3D se ocupan tener
    conocimiento de cómo está formado la imagen.
  • En imágenes bidimensionales se tienen que
    detectar bordes que puedan definirnos el volumen
    de un objeto.
  • Tambien se pueden utilizar imágenes del mismo
    objeto desde diferentes puntos de vista.

110
Detección de objetos 3D
  • En algunos casos se analizan las imágenes desde
    diferentes ángulos y se trata de reconstruir las
    imágenes en 3D.
  • Por ejemplo se trata de aplicar las tomografías
    desde diferentes cortes para poder definir un
    modelo en 3D del cerebro.

111
Transformaciones Lógicas
  • Dentro de las operaciones básicas se encuentra la
    binarización de una imagen, donde la imagen de
    salida sólo posee 2 niveles de gris, 0 y 255.
  • Si se considera los números anteriores como el 0
    lógico y el 1 lógico se obtiene una imagen
    binaria lógica.

112
Transformaciones Lógicas
  • Con una imagen de estas características es
    posible realizar operaciones lógicas, entre ellas
    negación, and, or, xor.
  • También, dadas 2 imágenes, es posible realizar
    sobre ellas otro tipo de operaciones
    relacionales, tales como lt, gt, lt, gt, por
    ejemplo, dadas las imágenes A y B, una nueva
    imagen C (AltB), se obtiene realizando la
    comparación dada pixel a pixel y obteniendo el
    valor de 1 para C en aquellos pixeles donde se
    cumple la relación y 0 donde no se cumple.

113
Transformadas Geométricas
  • El objetivo fundamental de una operación
    geométrica es la transformación de los valores de
    una imagen tal y como podría observarse desde
    otro punto de vista.
  • Las operaciones de ampliar o reducir una imagen,
    no es sino aproximar o alejar el punto de vista,
    rotarla equivale a girar el punto de observación,
    trasladarla es hacer lo propio con dicho punto.

114
Transformaciones Geométricas
  • En una imagen original, los pixeles se encuentran
    dentro de una estructura matricial (retícula) es
    decir, una rejilla.
  • Al transformar esta rejilla según un
    desplazamiento, un giro o un acercamiento, los
    nuevos pixeles ya no tienen por qué quedar
    situados sobre tales intersecciones y caerán, por
    lo general, sobre puntos intermedios de ellos.

115
Transformaciones Geométricas
116
Transformaciones Geométricas
  • Para encontrar los nuevos puntos se requiere
    interpolar.
  • La interpolación puede considerarse como el
    cálculo del valor de intensidad de un pixel, en
    una posición cualquiera, como una función de los
    pixeles que le rodean.
  • Una forma de hacerlo es suponer que el pixel toma
    el mismo valor que el mas cercano de entre los
    cuatro que le rodean.

117
Transformaciones Geométricas
  • Para decidir cual es el mas cercano se puede
    utilizar la distancia Euclídea.
  • Una forma de interpolar con mejores resultados
    pero con mayor costo computacional es la
    interpolación bilineal, la cual asigna al pixel
    en cuestión un valor medio ponderado de las
    intensidades de los 4 pixeles que le rodean.
  • Los factores de ponderación vienen dados por la
    distancia entre el pixel y los del entorno.

118
Transformaciones Geométricas
119
Referencias
  • Súcar, E, Gómez, G, Procesamiento de Imágenes y
    Visión Computacional, Departamento de
    Computación, Tecnológico de Monterrey Campus
    Cuernavaca.
  • http//isa.umh.es/titere/tutorial/vision/
  • Ferreira, R. (2009), Procesamiento Digital de
    Imágenes con Java, Flisol, Morelia.

120
Referencias
  • González, R., et al., (2007) Digital Image
    Processing, Addisson-Wesley, Estados Unidos.

121
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com