procesamiento digital de imágenes m.c. juan carlos olivares rojas [email protected] mayo, 2009

121
Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas [email protected] Mayo, 2009

Upload: luisina-santibanez

Post on 02-Feb-2016

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Procesamiento Digital de Imágenes

M.C. Juan Carlos Olivares [email protected]

Mayo, 2009

Page 2: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Agenda• Introducción

• Transformaciones punto a punto.

• Transformaciones de 2 imágenes.

• Operaciones de vecindad.

• Transformaciones lógicas y geométricas.

Page 3: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Agenda• Detección de bordes.*

• Extracción de Regiones.*

• Detección de Movimiento.*

• Detección de objetos 3D.*

Page 4: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 5: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.).

Page 6: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 7: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

AplicacionesAplicació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).

Page 8: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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

Page 9: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Empaque

Page 10: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

OCR

Page 11: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Inspección de Alimentos

Page 12: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Procesamiento

Page 13: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Calidad de la Imagen

Mala Buena

Page 14: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Iluminación• La iluminación también juega un papel muy

importante en el proceso de adquirir buenas imágenes aptas para procesamiento

Page 15: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Detección de Bordes

Page 16: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Segmentación

Page 17: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Segmentación

Page 18: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Proyectos de Visión Artificial

Page 19: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Proyectos de Visión Artificial

MODULO DE LOCALIZACIÓN MODULO DE SEGUIMIENTO

Experimento No. 8

Page 20: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Proyectos de Visión

Page 21: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Proyectos de Visión

Page 22: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Procesamiento de Visión Artificial

Base de Conocimientos

SegmentaciónRepresentación

ydescripción

Preprocesado

Adquisición de la imagen

Reconocimiento einterpretación

Page 23: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 24: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 25: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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).

Normal1 punto en 8 píxel

Page 26: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Introducción

256 Niveles de Gris 4 Niveles de Gris

Page 27: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Introducción

Ojo de Lena Valores del Ojo

Page 28: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 29: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Histograma

Histograma de Lena Normal

Histograma de Lena Obscuro

Page 30: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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”.

Page 31: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Ruido

Normal

Ruido Correlado

Ruido Gaussiano

Ruido Aleatorio

Page 32: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Brillo• Se define como brillo al nivel medio de gris de

una imagen.

Brillo 104

Brillo 56

Page 33: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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:

Page 34: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Contraste

C1= 95.81%C2= 26.45%

C1= 94.42%C2= 10.56%

Page 35: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Nitidez• Es la respuesta de la imagen ante cambios

bruscos de iluminación.

Page 36: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 37: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Nitidez

Nitidez 18.245% Nitidez 9.777%

Page 38: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 39: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Diferencia Cuadrática de Dos Imágenes

ECT=28.957, ECN=26.536%

Page 40: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 41: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Transformación Punto a Punto• Algunos ejemplos de transformaciones

puntuales:– Suma. – Resta. – Multiplicación. – División. – Máximo. – Mínimo. – Umbralización. – Inversa.

Page 42: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Transformación Punto a Punto

InversaOriginal

Page 43: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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

Page 44: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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;

Page 45: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

PixelGrabberPublic Carga(){

imagen = Toolkit.getDefaultToolkit().getImage("imagen_01.jpg");

MediaTracker tracker = new MediaTracker( this );

tracker.addImage( imagen,1 );

try {

if( !tracker.waitForID( 1,10000)) {

Page 46: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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;

Page 47: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

PixelGrabberthis.setSize(insetIzqda+ancho,

insetArriba+(2*alto) );

this.setTitle( "Cargar una Imagen" );

this.setBackground( Color.yellow );

int[] pix = new int[ancho * alto];

try {

PixelGrabber pgObj = new PixelGrabber( imagen,0,0,ancho,alto,pix,0,ancho );

if( pgObj.grabPixels() && ( (pgObj.getStatus() & ImageObserver.ALLBITS ) != 0 ) ) {

Page 48: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

PixelGrabberFor ( int i=0; i < (ancho*alto); i++ ) {

System.out.println(“val=”+pix[i]);

} } 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 ) );

Page 49: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

PixelGrabberthis.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,insetArriba+alto,this );} }

Page 50: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

PixelGrabberpublic static void main (String args[]) {

Cargar obj = new Cargar();

obj.repaint();

}

}

Page 51: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operador Identidad• Este operador crea una imagen de salida que

es idéntica a la imagen de entrada.

• Función de transformación:

pq

Page 52: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operador Identidad

Imagen 1 Transformación

Page 53: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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:

pq 255

Page 54: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operador Inverso o Negativo

Imagen 1 Transformación

Page 55: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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:

1

1

2550

ppparapppara

q

Page 56: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operador Umbral

Imagen 1 Transformación

1501 p

Page 57: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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:

21

21

0255

pppparappópppara

q

Page 58: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operador Umbral Binario

Page 59: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operador Intervalo Umbral Binario

Imagen 1 Transformación

19040 21 pp

Page 60: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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:

21

21

2550

pppparappópppara

q

Page 61: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operador Intervalo de Umbral Binario Invertido

Page 62: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operador Intervalo de Umbral Binario Invertido

Imagen 1 Transformación

19040 21 pp

Page 63: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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:

21

21255pppparap

ppóppparaq

Page 64: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operador Umbral Escala Grises

Imagen 1 Transformación

19040 21 pp

Page 65: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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:

21

21

255255

pppparapppópppara

q

Page 66: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operador Umbral Escala de Grises Invertido

Imagen 1 Transformación

19040 21 pp

Page 67: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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:

21

121

21

255)(

0

pppparapp

pp

ppóppparaq

Page 68: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operador de Extensión

Imagen 1 Transformación

19040 21 pp

Page 69: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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 n+1 niveles de gris.

• Función de transformación:

255

...

2

0

1

322

11

1

ppparaq

pppparaq

pppparaq

pppara

q

nn

Page 70: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 71: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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

Page 72: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Transformación de dos Imágenes

originalImagen con ruido Gausiano

Diferencia entre las imagen

Diferencia multiplicada por 6

Page 73: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Transformaciones de Dos Imágenes

Original Umbralizada 128

Imagen Inversa de la Umbralizada 128

Mínimo de la Inversa Umbralizada 128 y la original

Page 74: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 75: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

),( ,,, yxyxDyx bafc

Page 76: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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:

)),(),,((, yxbyxafR Dyx

Page 77: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Transformación Punto a Punto

Page 78: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

kbac yxyxyx /)( ,,,

Page 79: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

)( ,,, yxyxyx bakc

Page 80: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 81: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Adición y Substracción

Imagen 2 Imagen 3

Suma 2+3 Resta 2-3

Page 82: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 83: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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:

121

000

121

)1,1(1)1,(2)1,1(1

),1(0),(0),1(0

)1,1(1)1,(2)1,1(1),(

yxpyxpyxp

yxpyxpyxp

yxpyxyxpyxq

Page 84: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operadores de Vecindad

Imagen 1 Transformación

Page 85: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Operador Vecindad Mayor Contraste

• Con la máscara siguiente se obtiene mayor contraste:

1667.06667.01667.0

6667.03333.46667.0

1667.06667.01667.0

Imagen 4 Transformación

Page 86: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 87: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Transformaciones Globales

Imagen Original Imagen Ecualizada

Page 88: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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

Page 89: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 90: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Reducción de Ruido

Entorno de vecindad

Imagen con ruido gausisano s=5

Imagen Filtrada

Page 91: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 92: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Transformaciones lógicas• Generalmente se utilizan máscaras para poder

encontrar alguna característica útil en las imágenes:

– AND. – OR. – XOR.

Page 93: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Transformaciones Lógicas

Imagen 5 Imagen 6

Binarización de 5 (umbral= 128) Binarización de 6 (umbral= 128)

Page 94: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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

Page 95: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Transformaciones Lógicas

Transformación 5 <= 6Operación XOR entre 5 y 6

Page 96: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 97: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 98: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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).

Page 99: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Transformaciones Globales• Transformada de Hough.

• Cambio entre modelos del espacio de colores.

• Y sus correspondientes transformadas inversas.

Page 100: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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:

Page 101: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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).

Page 102: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Detección de Bordes

Page 103: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Detección de Bordes

Imagen OriginalRealce de Bordes Operador Sobel

Aplicación del Umbral

Page 104: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 105: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 106: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 107: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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?

Page 108: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 109: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 110: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 111: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 112: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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 <, >, <=, >=, por ejemplo, dadas las imágenes A y B, una nueva imagen C = (A<=B), 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.

Page 113: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 114: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 115: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Transformaciones Geométricas

Page 116: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 117: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 118: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Transformaciones Geométricas

Page 119: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

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.

Page 120: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Referencias• González, R., et al., (2007) Digital Image

Processing, Addisson-Wesley, Estados Unidos.

Page 121: Procesamiento Digital de Imágenes M.C. Juan Carlos Olivares Rojas jolivares@uvaq.edu.mx Mayo, 2009

Questions?