Práctica 6: Operadores globales

Documentos relacionados
Temas Avanzados en Procesado de Señales Tratamiento Digital de Señales Visuales

Práctica 3: Operadores puntuales

Práctica 5: Transformada de Fourier

Práctica 4: Series de Fourier

Práctica 5: Transformada de Fourier

Práctica 2: Periodicidad

Práctica 4: Series de Fourier

Práctica 3: Convolución

Práctica 6: Aplicaciones de la TF

Cursada Segundo Cuatrimestre 2012 Guía de Trabajos Prácticos Nro. 1

Práctica 5: Operadores locales II

Práctica 6: Aplicaciones de la TF

Señales: Tiempo y Frecuencia PRÁCTICA 1

Práctica 5: Códigos Lineales

A 4. En los siguientes ejercicios, resuelva el sistema de ecuaciones utilizando la regla de Cramer.

3 La transformada de Fourier

ELO 385 Laboratorio de Procesamiento Digital de Señales Laboratorio 5: Transformada Discreta de Fourier Parte I

MATEMÁTICAS PARA ECONOMISTAS I MATRICES, DETERMINANTES Y SISTEMAS DE ECUACIONES

Matrices y determinantes.

Tema 2. Sistemas de ecuaciones lineales

4 MÉTODOS DIRECTOS PARA RESOLVER SISTEMAS DE ECUACIONES LINEALES

ACTIVIDADES SELECTIVIDAD MATRICES

Matrices. Observación: Es usual designar una matriz por letras mayúsculas: A, B, C,... 3 B =

Tratamiento de Señales Laboratorio 1 (2h) Cadenas de Markov

UNIVERSIDAD TECNICA LUIS VARGAS TORRES Esmeraldas - Ecuador MATRICES Y VECTORES

Almacenamiento de imágenes digitales. Segunda parte

Breve introducción a Matrices

Eigenvalores y eigenvectores

CONTENIDOS MATEMÁTICAS II SEGUNDA EVALUACIÓN CURSO 2017/2018 MATRICES

Comenzando a usar MatLab:

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES

Se llama adjunto de un elemento de una matriz A, al número resultante de multiplicar por el determinante de la matriz complementaria

Transformadas de la imagen

Tema 1: Matrices. El concepto de matriz alcanza múltiples aplicaciones tanto en la representación y manipulación de datos como en el cálculo numérico.

Lección 8. Matrices y Sistemas de Ecuaciones Lineales

Análisis Espectral mediante DFT PRÁCTICA 4

3- Sistemas de Ecuaciones Lineales

CAPÍTULO 3 VECTORES Y MATRICES 2.- DEFINICIÓN DE VECTORES Y DE MATRICES 3.- OPERACIONES CON VECTORES Y MATRICES

Instituto de Matemática. Agosto de ) Encuentre experimentalmente los siguientes valores de su calculadora:

Se trata de: Explicar el comportamiento de una variable dependiente ( Y ) en función de otras variables ( i ) 2 Investigar si las variables están asoc

Práctica 5: Códigos Lineales

Método Simplex. Ing. Ricardo Fernando Otero, MSc

3 y un vector Y 2 que contenga el cálculo de Y2 = 4X

Facultad de Ciencias Experimentales Universidad de Almería PRÁCTICA 1

Un conjunto E a,b,c, de elementos (llamados vectores) se dice que constituye. (a,b) (a',b') (a a',b b')

Si u y v son vectores cualquiera en W, entonces u + v esta en W. Si c es cualquier numero real y u es cualquier vector en W, entonces cu esta en W.

MATRICES Y DETERMINANTES EJERCICIOS RESUELTOS

Práctica 4: Matrices

Determinantes. Concepto de determinante A cada matriz cuadrada A se le asigna un número denominado determinante de A, denotado por A o por det (A).

Lección 3. Análisis conjunto de dos variables

PAIEP. Sistemas de Ecuaciones Lineales

PRÁCTICA 1: Introducción a Matlab

Distribuciones Bidimensionales.

Comparación entre la Aplicación de la DCT y la KLT a la Compresión de Imágenes Digitales (Diciembre 2011)

Integral indefinida. Integral indefinida es el conjunto de las infinitas primitivas que puede tener una función.

Señales y Analisis de Fourier

2.1. ESTIMACIÓN DE PARÁMETROS BASADO EN LA SENSIBILIDAD.

Una matriz es un arreglo rectangular de números. Los números en el arreglo se llaman elementos de la matriz. ) ( + ( ) ( )

Facultad: Ingeniería Escuela: Ingeniería Eléctrica Asignatura: Sistemas Eléctricos Lineales II

PRÁCTICA 3. Identificación de un Motor de Corriente Continua. mediante su Respuesta Frecuencial

Carmen Torres Blanc, Gloria Sánchez Torrubia DMATIC, ETSIInf, U.P.M. Álgebra Lineal. 1 TEMA 1.1: MATRICES Y SISTEMAS DE ECUACIONES LINEALES

Tema 1: Matrices. El concepto de matriz alcanza múltiples aplicaciones tanto en la representación y manipulación de datos como en el cálculo numérico.

Una forma fácil de recordar esta suma (regla de Sarrus): Primero vamos a estudiar algunas propiedades de los determinantes.

Matrices y determinantes

PROPUESTA A. 3A. a) Despeja X en la ecuación matricial X A B = 2X donde A, B y X son matrices cuadradas

,..., a 1n. ) y B. , a 12. A B a 11 b 11 a 12 b 21 a 1n b n1

Rango de una matriz. Antes de nada daremos algunas definiciones. Para ello supongamos que tenemos una matriz de orden m n: A M m n.

Matemáticas 2ºBachillerato Aplicadas a las Ciencias Sociales

Análisis de imágenes digitales

PROPUESTA A. b) Para dicho valor de a, da la ecuación implícita de un plano que contenga a r y a s. (1 25 puntos)

Práctica 2: Matrices. Sistemas de ecuaciones lineales.

Práctica 2. Nombre del curso: Teoría Moderna de la Detección y Estimación. Autores: Jerónimo Arenas García

2º INGENIERÍA INDUSTRIAL TEORÍA DE CIRCUITOS Y SISTEMAS

Algebra Lineal Tarea No 5: Introducción a matrices Solución a algunos problemas de la tarea (al 29 de junio de 2014)

Práctica 5: Ondas electromagnéticas planas en medios dieléctricos

1 Clase sobre determinantes

El método de la potencia para el cálculo del autovalor dominante de una matriz se basa en el siguiente teorema.

1. Lección 3: Matrices y Determinantes

FUNDAMENTOS MATEMÁTICOS (Grado en Ingeniería Informática) Práctica 8. MATRICES

Tema 4: Sistemas de ecuaciones lineales.

MATRICES. Una matriz es un conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas.

Definición de matriz Una matriz A es un conjunto de números dispuestos en filas y en columnas.

OCW-V.Muto Los métodos de transformación ortogonal. Cap. XX CAPITULO XX. LOS METODOS DE TRANSFORMACION ORTOGONAL

1 SISTEMAS DE ECUACIONES LINEALES. MÉTODO DE GAUSS

Contenido. 2 Operatoria con matrices. 3 Determinantes. 4 Matrices elementales. 1 Definición y tipos de matrices

Matrices. Primeras definiciones

PROPUESTA A. 1A a) Enuncia el teorema de Bolzano.

Matrices, Determinantes y Sistemas Lineales.

Tema IV: Series de Fourier

APUNTES DE ÁLGEBRA LINEAL TEMA 2. SISTEMAS DE ECUACIONES LINEALES

Matemáticas Nivel Medio Matemáticas Ap.CC.SS.II

DEFINICIONES TIPOS DE MATRICES DETERMINANTES Y PROPIEDADES OPERACIONES MATRICIALES INVERSA DE UNA MATRIZ SISTEMAS DE ECUACIONES

Calle 34 Nº 7-32, La Sabana, Los Patios Teléfono , Celular , corre:

Definición (matriz): Definición (dimensión de una matriz): Si una matriz tiene m renglones y n columnas se dice que es de dimensión m n.

Muestreo PRÁCTICA 3. Laboratorio de Señales y Comunicaciones. (2 sesiones)

1. Señales continuas o sinusoidales. 2. Cualquier señal (incluyendo continuas o sinusoidales).

Transcripción:

Práctica 6: Operadores globales Apellidos, nombre Apellidos, nombre Grupo Puesto Fecha El objetivo de esta práctica es presentar al alumno los fundamentos de las transformadas discretas lineales y parte de sus aplicaciones. Desarrolle cada ejercicio en un fichero de comandos ejercicio_x.m separado. Para conocer el funcionamiento preciso de los comandos que se introducen en este guión, utilice la ayuda de MATLAB. 1.1 Transformadas discretas lineales bidimensionales Este apartado guía el modo de realizar una transformada y muestra su interpretación como cambio de base. 1.1.1 Ejercicio 1: cálculo de una transformada directa y de su inversa El objetivo de este ejercicio es realizar una transformada discreta lineal y su inversa. Se presenta únicamente el caso de las transformadas separables y unitarias, que son las de mayor aplicación en el ámbito del tratamiento de imagen. Según las explicaciones de la parte teórica de la asignatura sabemos que la relación entre una imagen o señal bidimensional ψ y su imagen transformada Ψ viene dada en forma matricial por las expresiones: Ψ =W ψ W ψ =W Ψ W * T * T, donde la matriz W es el núcleo de la transformación. A lo largo de esta práctica, por simplicidad, asumiremos que las imágenes sobre las que se efectúan transformadas son siempre cuadradas, es decir, de N filas por N columnas. En esta situación el núcleo de la transformación será también una matriz de NxN valores. Se propone, a modo de ejemplo, obtener la Transformada Discreta del Coseno (DCT) de una imagen. El núcleo de la DCT viene dado, para cada fila n y columna u, por la expresión: 1, u = 0, 0 n N 1 N W ( nu, ) = (6.1) 2 ( 2n+ 1) u π cos,1 u N 1, 0 n N 1 N 2N Para definirlo en MatLab puede utilizar los siguientes comandos: >> N=image_width; [u,n]=meshgrid([0:n-1],[0:n-1]); >> W=(sqrt(2/N))*cos((2*n+1)*pi.*u/(2*N)); W(:,1)=(1/sqrt(N)); Utilice este núcleo y las expresiones generales anteriores para calcular la DCT de la imagen

edificio.bmp 1. Tenga en cuenta que antes de calcular la transformada deberá convertir la imagen a tipo double (no utilice im2double sino sencillamente double). Observe adicionalmente que en el caso de la DCT el núcleo presenta valores reales, por lo que no es necesario conjugarlo para calcular la transformada directa. Una vez obtenida la transformada aplique sobre ella la operación inversa para obtener de nuevo la imagen original. Para comprobar que el resultado es correcto, calcule la energía de la diferencia entre la imagen inicial (convertida a double) y la imagen obtenida tras aplicar las transformadas directa e inversa. Observe que aunque la energía obtenida es despreciable frente al rango de variación de las imágenes (0-255), no es completamente nula. Ello se debe a la precisión finita en el cálculo de funciones trigonométricas derivada del uso de magnitudes irracionales (en este caso, del número π ). Finalmente, modifique su código para repetir el ejercicio calculando esta vez la Transformada Discreta del Seno (DST) teniendo en cuenta que su núcleo viene dado por la expresión: 2 ( n+ 1)( u+ 1) π W ( nu, ) = sin, 0 nu, N 1 (6.2) N + 1 N + 1 1.1.2 Ejercicio 2: representación de vectores base e imágenes base El objetivo de este ejercicio es representar las imágenes de la nueva base que caracteriza cada transformada, para poder obtener una visión intuitiva del efecto que la transformada persigue y una interpretación adecuada del significado de cada coeficiente (recuerde que cada coeficiente o valor de la imagen transformada indica la ponderación de la correspondiente imagen base a la hora de recomponer la imagen original). Al efectuar una transformada de NxN valores se está efectuando un cambio de base de la imagen original de NxN valores en una imagen transformada de NxN coeficientes. La imágenes base que gobiernan el cambio son por lo tanto NxN imágenes de tamaño NxN cada una. Siendo así, para poder representar todas ellas se propone realizar el ejercicio con un núcleo de tamaño reducido, por ejemplo de tamaño N = 8, en vez de con el núcleo correspondiente a una imagen como la del ejercicio anterior ( N = 512 ) que daría lugar a un número irrepresentable de imágenes base. Según lo visto en las explicaciones teóricas, en el caso de las transformadas separables el núcleo que la caracteriza al realizar una transformada 2D es el mismo que caracteriza la transformada 1D, sólo que en el caso de la bidimensional se aplica dos veces (sobre ambas dimensiones de la señal a transformar). En el caso de la transformada 1D, sabemos que los vectores columna del núcleo que la define son precisamente los vectores de la nueva base que representa la transformada. En el caso de la transformada 2D, sabemos que el producto tensorial de todas las posibles parejas de vectores base da lugar a las imágenes base de la transformada 2D. Teniendo en cuenta lo anterior, defina el núcleo de una DCT de tamaño 8x 8y represente en una misma ventana (comando subplot) los ocho vectores que definen la nueva base, ordenados desde la primera hasta la última columna. Al representar cada vector superponga sus ocho valores (comando stem) con la curva que los interpola linealmente (comando plot). Indique el número de cruces por cero (o wave number) de cada uno de los ocho vectores: 1 Descárguese esta imagen de la página web de la asignatura.

Vector columna: 1 2 3 4 5 6 7 8 Cruces por cero: A continuación obtenga, dos a dos, los 88 x productos tensoriales (multiplique cada vector columna por el correspondiente vector columna transpuesto) de los vectores anteriores, lo que resultará en 88 x imágenes. Represente estas imágenes en una misma ventana (comando subplot), formando una matriz de 88 x imágenes de tamaño 88 x cada una. Para que las imágenes base sean fáciles de comparar e interpretar escale cada una de modo que su rango se sitúe entre -1 y +1. Para lograrlo, observe en la expresión del núcleo de la DCT (Eq. 6.1) que cada vector columna sigue una función sinusoidal (el primero constante y de valor 1 N y el resto ponderadas por 2 N ). Por lo tanto, para que los productos tensoriales varíen en (-1,1) deberá multiplicar el resultado por N 2, si el producto involucra el primer vector columna, y por N 2 si no lo involucra. Modifique el código para repetir el mismo ejercicio con la DST. Compare las imágenes base de mínima frecuencia de ambas transformadas e indique si alguna de las dos representa la componente continua o valor medio de la imagen original (es decir, si alguna de las dos es una imagen base constante):

1.2 Transformadas y compactación de energía Este apartado presenta la característica de la DCT y de la DST como transformadas para compactar la energía de la señal y el posible uso de esta propiedad en aplicaciones de codificación. 1.2.1 Ejercicio 3: observación de la distribución de energías de la imagen y su transformada. El objetivo de este ejercicio es observar la propiedad de la DCT y de la DST de compactar la energía de las señales sobre las que operan. Partiendo del código del Ejercicio 1, obtenga la DCT de la imagen edificio.bmp. Calcule la energía de la imagen y la energía de su DCT y compruebe, según se ha visto en las explicaciones teóricas, que son idénticas. Haga la misma comprobación con la DST. Para observar la distribución de energía en cada zona de la imagen, particione la imagen original en KxK subimágenes y obtenga en una matriz de KxK valores el porcentaje de la energía de la imagen original contenido en cada subimagen. Efectúe este proceso para K = 4 (compruebe que el resultado es correcto verificando que la suma de porcentajes es 100). A continuación repita el proceso sobre la imagen DCT y sobre la imagen DST. Transcriba aproximadamente (basta con un dígito significativo) los porcentajes obtenidos en cada caso: % de energía regiones de la imagen original % de energía regiones de la imagen DCT % de energía regiones de la imagen DST Comente los resultados obtenidos indicando si las transformadas compactan o no y cuánto la energía de la señal, indicando en qué regiones de las transformadas se concentra la mayor parte de la energía, y concluyendo si DCT y DST compactan de manera similar:

1.2.2 Ejercicio 4: efecto de la eliminación de las componentes de menor energía. El objetivo de este ejercicio es apreciar la pérdida de calidad que se produce sobre una imagen al ir eliminando (haciendo nulas) componentes de su DCT. En primer lugar obtenga la DCT de la imagen edificio.bmp y represéntela. Como el rango de la DCT es mucho mayor que el de la imagen, en vez de sus valores represente el logaritmo de su valor absoluto. Tomando como punto de partida el ejercicio anterior, particione la DCT de la imagen en KxK subimágenes, pero ahora con K = 16 (es decir en 256 subimágenes). Calcule el % de energía de la subimagen que menos energía contiene. Sitúe un umbral T justo en el doble de este valor y anule las subimágenes de la DCT cuyo valor sea inferior a este umbral. Represente la DCT así modificada e indique cuántas subimágenes han sido anuladas: Obtenga la transformada inversa de la DCT modificada y observe a tamaño real la imagen que obtiene. Si no aprecia diferencia con respecto a la original repita el proceso anterior aumentando el valor del umbral T hasta que aprecie diferencia con respecto a la imagen original. Indique cuál es el valor del umbral T = T en esta situación: apreciable T apreciable A continuación siga aumentando el valor del umbral hasta que juzgue que la pérdida de calidad de la imagen obtenida es claramente visible en condiciones normales (por ejemplo observando ambas imágenes a tamaño real a unos 60cm del monitor). Indique cuál es el valor de este nuevo umbral T = T : aceptable T aceptable Obtenga el % de píxeles de la DCT que ha anulado al llegar a T apreciable y el que ha anulado hasta llegar a T aceptable. Comente las posibles aplicaciones de los resultados obtenidos:

1.3 Transformada de Haar 1.3.1 Ejercicio 5: Cálculo de la transformada de Haar El objetivo de este ejercicio es implementar la Transformada Discreta de Haar (DHT) de una imagen. La DHT esta basada en las funciones de Haar, familias de N funciones (orden N) continuas distintas: ( ) { } h x, k 0,..., N 1, N = 2 n (6.3) k La construcción de la función k-ésima se basa en la definición intermedia de dos valores, p y q (asociados a cada k ), que toman N valores. A partir de estos índices, las k funciones se definen según la expresión: p 2 2 q 1 q 0.5, x < p p N 2 2 p 2 2 q 0.5 q hk x hpq x x x p p N 2 2 0 resto ( ) = ( ) = <, [ 0,1] (6.4) Para realizar este ejercicio desarrolle una función MatLab (denomínela matriz_haar) que tome como parámetro de entrada el valor n mínimo tal que N = 2 n donde N se corresponde con las dimensiones de la imagen NxN. Esta función devolverá el núcleo de la transformación W. La función deberá tener en cuenta los siguientes aspectos: Primeramente debe obtener los valores p y q que permiten calcular las funciones de Haar. Utilice el siguiente código para obtener dichos valores: >> N=2^n; >> p=zeros(1,2); >> q=[0,1]; >> for(i=1:n-1) >> p=[ p i*ones(1,2^i)]; >> q=[ q 1:2^i]; >> end >> k=2.^p+q-1; % k=0:(n-1) Las funciones hk se calculan mediante la expresión 6.4. Utilice el siguiente código: >> z=[0:1/n:1-1/n]; >> hk=zeros(n,n); >> hk(k(1)+1,:)=1; >> for(i=2:n) >> z1=(q(i)-1)/(2^p(i)); >> z2=(q(i)-0.5)/(2^p(i)); >> z3=q(i)/(2^p(i)); >> for(j=1:n) >> if(z(j)>=z1 & z(j)<z2) hk(k(i)+1,j)=2^(p(i)/2); >> elseif(z(j)>=z2 & z(j)<z3) hk(k(i)+1,j)=-2^(p(i)/2); >> else hk(k(i)+1,j)=0; >> end >> end >> end >> hk=(1/sqrt(n))*hk;

Finalmente calcule la transpuesta de la matriz resultante h k para obtener la matriz de transformación W que ha de devolver la función matriz_haar. Utilice el núcleo calculado con la función matriz_haar y las expresiones generales anteriormente descritas para calcular la DHT de la imagen edificio2.bmp 2. Recuerde que antes de calcular la transformada deberá convertir la imagen a tipo double (no utilice im2double sino sencillamente double). Una vez obtenida la transformada aplique sobre ella la operación inversa para obtener de nuevo la imagen original. Finalmente, visualice en distintas figuras la imagen original, la imagen reconstruida y la Transformada Haar resultante de aplicar la matriz W. Debido al rango de valores que presenta la Transformada Haar de una imagen, en vez de representar el módulo normalizado resulta más conveniente representar su logaritmo 3 : >> ima_transf=log(abs(ima_transf)+0.1); >> ima_max=max(max(ima_transf)); ima_min=min(min(ima_transf)); >> imshow(ima_transf,[ima_min ima_max/256],'initialmagnification',100); Para comprobar que el resultado es correcto, calcule la energía de la diferencia entre la imagen inicial (convertida a double) y la imagen obtenida tras aplicar las transformadas directa e inversa. Observe que la energía obtenida es despreciable. 2 Descárguese esta imagen de la página web de la asignatura. 3 Observe que en vez de calcular directamente el logaritmo del módulo de la Transformada, se le suma una unidad para evitar que el resultado tome valores negativos.

1.3.2 Ejercicio 6: efecto del muestreo de la transformada Haar. El objetivo de este ejercicio es apreciar la pérdida de calidad que se produce sobre una imagen al ir eliminando (haciendo nulas) componentes de su transformada DHT. En primer lugar obtenga la DHT de la imagen edificio2.bmp y represéntela. Para ello utilice el código MatLab descrito en el apartado anterior. Posteriormente, modifique la DHT calculada seleccionado una submatriz (o subimagen) de ella (anulando el resto de los coeficientes de la DHT). Después obtenga la transformada inversa de la DHT modificada y observe a tamaño real la imagen que obtiene. Para seleccionar una submatriz (o subimagen) de la DHT, deberá tener en cuenta Las subimagenes de la DHT se seleccionaran a partir de la esquina superior izquierda (índice (1,1)) de la imagen para garantizar una reconstrucción adecuada. El tamaño de la imagen seleccionada ha de ser potencia de dos para que la subimagen seleccionada contenga secciones completas de la DHT. Obtenga la transformada inversa de la DHT modificada para los valores de n iguales a N /8, N /4, N /2 y N y observe a tamaño real la imagen reconstruida que obtiene. Comente las diferencias observadas entre las distintas imágenes, y las posibles aplicaciones de los resultados obtenidos: