Visió per Computador processat d imatges



Documentos relacionados
Filtros digitales dominio del espacio dominio de la frecuencia

Manipulación del Contraste

Introducción a las imágenes digitales. Segunda parte

Visualización de imágenes

Técnicas de filtrado. Tema 6

Técnicas de mejora de imágenes

Tema 3: Filtros SEGUNDA PARTE

Práctica 3: Operadores puntuales

Realzado de Imagen. 11 de junio de El histograma de una imagen digital con niveles de gris en la amplitud de [0, L 1], es función discreta

Práctica 1: Imágenes en MATLAB

1. Conocimientos previos. 1 Funciones exponenciales y logarítmicas.

TRATAMIENTO DE IMÁGENES

CAPITULO 5. Introducción al procesamiento de imágenes. Continuar

Representación de la información

Tema 2: PROCESAMIENTO EN EL DOMINIO ESPACIAL (Parte 1)

PROYECTO FIN DE CARRERA

El histograma de una imagen digital

Capacidad : Número de valores diferentes que puede representar un código. Depende del número de dígitos usados.

Fundamentos de Visión por Computador

Capítulo 2. Técnicas de Procesamiento de Imágenes

en coma flotante Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso

Conceptos Básicos para el Procesamiento Digital de Imágenes

4. Medidas de tendencia central

Conversión Analógica a Digital

Representación de números enteros: el convenio complemento a dos

CAPÍTULO 4 LOS MEGAPIXELS

Expresión, Operador, Operando, Asignación, Prioridad

Aprendé a encontrar objetos en videos. Docentes: Franco Ronchetti Facundo Quiroga

Tema 9. Espacio de Estados : Representación y propiedades importantes

IDENTIDAD EN PRECISIÓN VARIABLE

Compresión de Vídeo. Juan A. Michell Mar=n Gustavo A. Ruiz Robredo. Tema 1.1. Imagen digital. Departamento de Electrónica y Computadores

Procesamiento de Imágenes Biomédicas. Curso 2012 Clase 1

Representación de números enteros: el convenio complemento a uno

Métodos de Inteligencia Artificial

CAPÍTULO 2. Desde el punto de vista más simple, hoy una imagen digital consiste de lo que se puede ver

Conceptos Básicos para el Procesamiento Digital de Imágenes

Visión por Computador: Introducción

transmisión de señales

Números enteros. 1. En una recta horizontal, se toma un punto cualquiera que se señala como cero.

Contenidos mínimos 4B ESO. 1. Contenidos. Bloque I: Aritmética y álgebra.

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

UNIDAD I. ALGORITMOS

k k N b Sistemas Númericos Sistemas con Notación Posicional (1) Sistemas con Notación Posicional (2) Sistemas Decimal

3. Resolver triángulos rectángulos utilizando las definiciones de las razones trigonométricas.

2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS

Práctica 1: Introducción a SPSS 1

INFORME TÉCNICO. Por qué Sony para obtener calidad de imagen?

LECCIÓN 1. CIRCUITOS ARITMÉTICOS DE SUMA Y RESTA DE ENTEROS

Procesamiento de Imágenes. Curso 2011 Clase 3 Eliminación del ruido mediante filtrado espacial

Técnica: Que es un histograma, como se analiza e interpreta

PROCESAMIENTO DIGITAL DE SEÑALES PRACTICAS MATLAB/LABVIEW

Vectores y Matrices. Tema 3: Repaso de Álgebra Lineal Parte I. Contenidos

LOGARITMOS. El logaritmo de un número es, entonces, el exponente a que debe elevarse otro número que llamado base, para que dé el primer número.

Contenido. Capítulo 1. Capítulo 2. Capítulo 3. Prólogo

3- Ana lisis de Espectro

Contenido Capítulo 1 Introducción Capítulo 2 Conceptos Básicos Capítulo 3 Procesamiento de Imágenes en el Dominio Espacial

Análisis de problemas

Práctica 2 Estadística Descriptiva

Sistemas de Percepción Visión por Computador

Valor absoluto de un número real. Potencias de exponente racional. Logaritmos. Logaritmos decimales y neperianos. Propiedades y operaciones.

Herramientas matemáticas básicas para el procesamiento de imágenes

No tienen componente en continua: Lo que implica todas las ventajas mencionadas anteriormente.

MATE Dr. Pedro Vásquez UPRM. P. Vásquez (UPRM) Conferencia 1 / 77

El conjunto de los complejos. Escritura cartesiana y binómica. Representación gráfica.

Extracción de Bordes

N = {1, 2, 3, 4, 5,...}

EJERCICIOS RESUELTOS DEL TEMA 5

Represent. Información. Caracteres Alfanuméricos

Tema 2: PROCESAMIENTO EN EL DOMINIO ESPACIAL (Parte 2)

CAPÍTULO 1. TEORÍA DE PROCESAMIENTO DE IMÁGENES.

Definición(2) La base (r) de un sistema de numeración especifica el número de dígitos o cardinal* de dicho conjunto ordenado. Las bases más utilizadas

CONTROL DIGITAL DE LA VELOCIDAD DE UN MOTOR DC

Procesamiento digital de imágenes

Cómo pasar de ESTO: ESTO!!!!!!!!

Unidad 1. Las fracciones.

CLASE Nº7. Patrones, series y regularidades numéricas

Distancias estelares. Magnitudes estelares

Concepto de función. Dados dos conjuntos A y B, llamamos función a la correspondencia de A en B

Examen correspondiente a la evaluación alternativa. Procesamiento de imágenes digitales curso 2007/2008

Puertas lógicas NAND, NOR y OR exclusiva Práctica # 10

Capítulo 4 Representación interna de los Datos

Problemas de 4 o ESO. Isaac Musat Hervás

Funciones algebraicas

FUNDAMENTOS DE SISTEMAS DIGITALES. Tema 2: Lógica combinacional (I): Funciones aritmético-lógicas

Antes de iniciar el tema se deben de tener los siguientes conocimientos básicos:

Distribuciones Dis de Probabilidad Pr Contínuas Jhon Jairo Jair Pa P dilla a Aguilar, Aguilar PhD. PhD

Transcripción:

Visió per Computador processat d imatges Felipe Lumbreras Dept. Ciències de la Computació / Centre de Visió per Computador Universitat Autònoma de Barcelona http://www.cvc.uab.es/shared/teach/a102784/

Conceptos fundamentales Imágenes digitales Muestreo y cuantización Tipos de imágenes Mejora de imágenes (operaciones básicas)

Representación de imágenes digitales Una imagen es una función bidimensional I(x,y) que a cada punto (x,y) le hace corresponder el valor de la intensidad lumínica en ese punto. En imágenes monocromáticas el valor de luminancia I(x,y) recibe el nombre de nivel de gris. Una imagen es una estructura de datos (píxeles) que contiene información discreta. Esta discretización la realiza el sensor en dos sentidos: muestreo y cuantización.

Muestreo y cuantización Muestreo: Discretización en el espacio. Generado al captar una señal continua del mundo real con un sensor discreto. Obtiene una representación computacional en forma de imagen. Cuantización: Discretización en amplitud. Generada al almacenar la señal en un formato digital (8 bits, 16 bits, )

Muestreo y cuantización. Ejemplo Cuantización Muestreo 8 bits 128x128 64x64 32x32 16x16 4 bits 2 bits 1 bit

Tipos de imágenes Imagen binaria: dos valores, blanco y negro. Imagen monocromática: un único componente espectral, matizado por distintos componentes de intensidad Imagen color: tres componentes cromáticas: rojo, verde, azul Secuencia de imágenes: cada imagen representa la escena en un instante de tiempo I(x,y,t) Imagen 3D: imágenes apiladas en z (secciones de un objeto) Imagen range: El valor de un píxel indica profundidad (envolvente 3D). Imagen estéreo: dos imágenes de la misma escena en el mismo instante de tiempo desde dos puntos de vista diferentes.

Tipos de imágenes

Las imágenes en MATLAB Lo más habitual es que las imágenes de intensidad se representen como una matriz 2D de valores uint8 (enteros de 0 a 255). Pero para operar con ellas muchas veces tendremos que pasarlas a valores double (valores reales de 0 a 1). Para hacer esto tenemos las funciones: >> ima = im2uint8(im); >> imb = im2double(im); También podemos hacer cast a uint8 o double, si controlamos los rangos. >> ima = uint8(im); >> imb = double(im);

Cargar y mostrar una imagen Para cargar una imagen podemos usar la función imread: >> im = imread('pout.tif'); Y para mostrarla usaremos la función imshow: >> imshow(im); Si el resultado tiene poco contraste, podemos indicarle que nos muestre los valores adaptados al mínimo y máximo de la imagen: >> imshow(im, []);

Ejemplos de imágenes en MATLAB Imagen binaria: 'text.png' Imagen en grises (de intensidad): 'cameraman.tif' Imagen a color: 'peppers.png' Imagen 3D: load mri

Mejora de imágenes Introducción Histograma Transformaciones puntuales Transformaciones aritméticas

Introducción Mejora: corrección de efectos producidos por el proceso de adquisición o de transmisión de la imagen. Conjunto de técnicas cuyo objetivo es procesar una imagen para obtener otra mejor según algún propósito (mejor visualización, eliminación de ruido, etc.). Dos tipos: Correcciones fotométricas (a) Correcciones geométricas (b) Ejemplos: (a) (b)

Histograma Antes de abordar las operaciones con imágenes, veremos una herramienta muy útil para el estudio de éstas. Histograma: vector de longitud igual al número de niveles de intensidad. La posición i ésima, H[i], de este vector es igual al número de píxeles de la imagen con nivel de intensidad i. Histograma acumulado: la posición i ésima refleja el número de píxeles con nivel de gris menor o igual a i. Podemos ver el histograma como una densidad de probabilidad y el histograma acumulado como su función de distribución asociada. Inicializar todos los valores H[i]=0 Cálculo del histograma para todos los pixeles de la imagen (i,j) int=pixel(i,j) H[int]=H[int]+1 fin para

Histograma. Ejemplo Imagen original Histograma Histograma acumulado

Cálculo de Histograma Si queremos ver el histograma de una imagen, podemos usar imhist: >> imhist(im) También podemos guardarlo en una variable : >> h = imhist(im); >> size(h) ans = 256 1 Esto nos permite manipularlo. Por ejemplo, podemos calcular el histograma acumulado, o visualizarlo en otro formato: >> ha = cumsum(h); >> plot(h); xlim([0 255]);

Transformaciones puntuales Transformaciones puntuales simples Umbral simple y doble LUT Transformaciones lineales Imagen negativo Maximización del contraste Transformaciones no lineales Logaritmo Exponencial Operaciones lógicas Ecualización

Transformaciones puntuales simples Trabajan con los píxeles como elementos individuales. Se aplica una función que depende sólo del valor del píxel. Denotando por I(x,y) el valor de la imagen I en el píxel (x,y), una transformación puntual g(n) transformar la imagen en función de los niveles de gris n de los píxeles de ésta. 255 n (nivel de gris de salida) g(n) I (x,y) = g(i(x,y)) 0 0 n (nivel de gris de entrada) 255

Umbralización (threshold, binarización) Umbral simple: Los puntos con un nivel de intensidad mayor o igual que un cierto umbral t reciben el nivel máximo y el resto el nivel mínimo. g ( n ) 255 0 si I ( x, sino y ) Umbral doble: Se elige un intervalo [t 1,t 2 ] que se lleva al máximo. Una posible variación para mostrar el resultado sobre la imagen original es: g ( n ) 255 I ( x, y ) si t 1 t I ( x, sino y ) t 2 g(n) 255 g(n) 255 0 t 255 0 t 1 t 2 255 n n

Umbral simple y doble. Ejemplos Umbral simple (t =180) Imagen original Umbral doble (t 1 =100, t 2 =150)

Umbral simple y doble Mediante umbrales, vamos a seleccionar diferentes regiones de la imagen: >> im = imread('coins.png'); >> subplot(2,3,1); imshow(im); >> subplot(2,1,2); imhist(im); Ejercicio 1: Seleccionar el valor de t 0 para detectar el fondo: >> imfondo = (im <= t0); >> subplot(2,3,2); imshow(imfondo); Ejercicio 2: Seleccionar el intervalo [t 1,t 2 ] para detectar la moneda más oscura (aunque queden restos de las otras): >> immonedaoscura = (im>=t1)& (im<=t2); >> subplot(2,3,3);imshow(immonedaoscura);

Transformaciones lineales Transformación de una imagen I con un rango de valores determinado (G min, G max ) en una nueva imagen I = g(i), con rango (R min, R max ), siendo g una función lineal. g ( I ( x, y )) R G max max R G min min ( I ( x, y ) G min ) R min R G max max R G min min I ( x, y ) R G max max R G min min G min R min Pendiente (m), si: m < 1: disminución de contraste m > 1: aumento del contraste g(i) R max R min G min G max I

Imagen negativo Contraste inverso g(n) 255 g ( n ) 255 I ( x, y ) 0 255 n Imagen original Imagen negativo

Maximización del contraste Consiste en aplicar una transformación lineal que haga que la imagen ocupe todo el rango posible. Se produce un estiramiento del histograma. g ( n) 255 I ( x, y) min( I ( x, y)) max( I ( x, y)) min( I ( x, y)) g(n) 255 0 a b 255 n 2500 2500 Rango de grises de la imagen original 2000 2000 1500 1500 1000 1000 500 500 0 0 50 100 150 200 250 0 0 50 100 150 200 250

Transformaciones no lineales Las transformaciones lineales modifican el rango de I. En cambio, las transformaciones no lineales modifican el contraste de una imagen dentro del rango de I. Dos tipos de transformaciones: Logarítmicas: realce de píxeles oscuros sin saturar píxeles brillantes. g ( I ( x, y)) log( I ( x, y) 1) Exponenciales: realce de píxeles brillantes sin saturar píxeles oscuros. g ( I ( x, y)) e I ( x, y )

Logaritmo g ( n) log( I ( x, y) 1) Imagen original Logaritmo g(n) 255 0 255 Útil para visualizar imágenes con rango dinámico amplio (p. ej. transformada de Fourier). n

Exponencial Imagen original Exponencial g ( n ) e I ( x, y ) Imagen original Exponencial g(n) 255 0 255 n

L.U.T. (look up table) Al trabajar con señales discretas y finitas, la transformación g se puede representar en forma de vector de indexación (LUT). g 3 2 1 0 0 1 2 3 1 1 0 0 3 3 2 1 2 I 0 1 2 3 1 2 0 3 LUT 2 1 1 0 3 2 2 0 3 I

L.U.T. (look up table) Aplicar una LUT es definir un vector cuyos valores indican las posibles salidas. Los valores de los píxeles de la imagen de entrada indexan los nuevos valores. Ejemplo: para g(x) = 255 x haremos: >> x = 0:255; >> lut = 255 - x; >> imlut = uint8(lut(im + 1)); >> imshow([im, imlut]); Ejercicio: Calcular el logaritmo con una lut.

Operaciones lógicas AND, OR, NOT, XOR a nivel de bit entre el valor de cada píxel y una cierta máscara binaria. Por ejemplo, el AND lógico entre una imagen y la constante 11110000 hace una recuantización uniforme de una imagen Byte (8 bits, 256 niveles) a 16 niveles de intensidad (4 bits) únicamente. Otro tipo de operaciones lógicas a nivel de bit son los desplazamientos a la izquierda y derecha de bits, equivalentes en imágenes Byte al producto y división por potencias de 2, pero a una mayor velocidad.

Operaciones lógicas. Ejemplo Imagen original AND con 11000000 Recuantización a 4 niveles de intensidad 14000 60000 12000 10000 8000 6000 4000 50000 40000 30000 20000 2000 10000 0 0 50 100 150 200 250 0 0 50 100 150 200 250

Pseudocolor y falso color Pseudocolor: visualizar en color una imagen de tonos de gris. Asignando a cada nivel de gris un color. Normalmente se diseña la paleta de colores con variaciones graduales. Por ejemplo, de colores fríos a cálidos. Falso color: Consiste en modificar los canales de color para que el color resultante resalte algún aspecto de la imagen. Se cambia el color típico de los objetos, captando la atención del observador.

Pseudocolor y falso color Podemos aplicar pseudocolor para incrementar el contraste: >> im = imread('cell.tif'); >> imp=label2rgb(im,@jet,'black','noshuffle'); >> subplot(1,2,1); imshow(im); >> subplot(1,2,2); imshow(imp); Esta asignación también se puede hacer desordenada: >> im = imread('cell.tif'); >> imp=label2rgb(im,@jet,'black','shuffle'); >> subplot(1,2,1); imshow(im); >> subplot(1,2,2); imshow(imp);

Ecualización La ecualización persigue que todos los niveles de gris tengan la misma frecuencia de aparición (histograma plano). En imágenes discretas sólo será aproximadamente plano. puede aproximarse por una LUT que consiste en el histograma acumulado llevado al rango de la imagen de entrada: Variaciones: g ( n ) N 1 M I ( x, y ) i 1 H [ i] Ecualización local: para cada píxel se calcula el histograma en una vecindad. Ecualización logarítmica: se eleva el histograma acumulado a una constante cambiando la forma del histograma final.

Ecualización. Proceso 1200 Histograma 1000 800 600 400 200 70000 0 0 50 100 150 200 250 60000 50000 LUT 40000 30000 20000 10000 0 1200 0 50 100 150 200 250 Histograma acumulado 1000 800 Histograma final 600 400 200 0 0 50 100 150 200 250

Ecualización. Ejemplo 1200 1000 800 600 400 200 Ecualización global 0 0 50 100 150 200 250 1200 1000 800 600 400 200 Ecualización local con ventana de 13x13 0 0 50 100 150 200 250 600 500 400 300 200 100 0 0 50 100 150 200 250

Transformaciones aritméticas Las operaciones aritméticas son el resultado de aplicar, punto a punto, un operador a dos imágenes: I( x, y) I1( x, y) I 2( x, y) Donde el operador puede ser cualquier operación aritmética o lógica: Suma Resta Producto División AND, OR, XOR

Transformaciones aritméticas En MATLAB se pueden realizar operaciones aritméticas con operadores (+,,.*,./) o con funciones: Suma: imadd(im1,im2) Resta: imsubtract(im1,im2) Multiplicación: immultiply(im1,im2) División: imdivide(im1,im2) Ejemplo: Eliminación de variación del fondo de una imagen. >> im = imread('rice.png'); >> background = imopen(im, strel('disk',15)); >> im2 = imsubtract(im,background); >> subplot(1,3,1);imshow(im); >> subplot(1,3,2);imshow(background); >> subplot(1,3,3);imshow(im2); colormap jet;

Adición Uno de los usos más importantes es la reducción de ruido debido a la adquisición. Si la escena es estacionaria, podemos promediar N imágenes del mismo objeto. Si el ruido es: Aditivo: resultado=imagen+ruido. No correlacionado: no forma ningún patrón. De promedio nulo: valores distribuidos simétricamente entorno al 0. Promediando N imágenes aumentamos la relación señal ruido (SNR) en un factor N 1/2. A mayor SNR, mejor imagen.

Adición. Ejemplo original detalle... (64 ims)... detalle promedio detalle

Sustracción Eliminación de fondo (background substraction), disparidad, detección de movimiento detectar presencia, ausencia o movimiento. eliminar de la imagen los elementos que no cambian. reducir información para comprimir secuencias

Producto Elección de regiones de interés (ROI): multiplicación de la imagen por una máscara con 1 en la zona de interés y 0 en el resto. Filtrado en el dominio frecuencial (Fourier): en el espacio de frecuencias el producto equivale a la convolución. f g F 1 { F { f } F { g }} convolución producto Reducción de efectos de borde: multiplicación por una imagen cuyos valores decaen hacia la periferia.

Producto. Ejemplos Regiones de interés. Reducción de efectos de borde. original máscara resultado

División Si podemos modelar la formación de la imagen con una multiplicación podemos eliminar un factor con la división. Por ejemplo, imagen de microscopía (luz transmitida). t m transmitancia de muestra. t f la iluminación no homogénea que queremos eliminar. I i es la intensidad de iluminación constante. I m, I f son imagen muestra y fondo. Tenemos: I m =I i t f t m, I f =I i t f. Nos interesa la muestra: t m =I m /I f. muestra fondo corrección