Para construir un filtro de bloque en 2D de orden N se realiza un producto de ventanas Haar de tal forma que resulta una matriz

Capítulo 21 Filtrado lineal 2D El presente capítulo se centra en el uso de la convolución en 2D y de su aplicación mediante la función «conv2» de MAT

3 downloads 59 Views 304KB Size

Recommend Stories


La descripción es una forma de discurso en la que se explica de forma ordenada cómo es una persona, un lugar, un objeto, un animal, una planta
TEMA 5: LA DESCRIPCIÓN 1. LA DESCRIPCIÓN • La descripción es una forma de discurso en la que se explica de forma ordenada cómo es una persona, un l

La antiderivada Una forma de ver la operación inversa de la derivación, clásicamente, se realiza de la siguiente forma:
La antiderivada Una forma de ver la operación inversa de la derivación, clásicamente, se realiza de la siguiente forma: Encontrar la función f(x) de l

Un libro para empresarios, emprendedores y gerentes que quieran construir una empresa que los trascienda
Un libro para empresarios, emprendedores y gerentes que quieran construir una empresa que los trascienda. LA MATERIA 2014 La Materia Contenidos Dier

Construcción de un algoritmo para el producto
Unidad 01: Resolviendo problemas, la necesidad de operar. Grado 02 • Matemáticas Clase: Construcción de un algoritmo para el producto Nombre: Intro

Story Transcript

Capítulo 21

Filtrado lineal 2D El presente capítulo se centra en el uso de la convolución en 2D y de su aplicación mediante la función «conv2» de MATLAB. Al respecto, como antecendentes a este capítulo se requiere de la lectura de los capítulos: 5. Convolución 20. Filtrado lineal Cuando se habla de un filtrado lineal 2D se está haciendo refencia a herramientas meramente lineales y que se aplican, en el caso particular del capítulo,a imágenes fotográficas. La aplicación de filtros a 2D no se limita únicamente a imágenes fotográficas, pueden también ser imágenes de radar, en las cuales el brillo de un pixel indica su altura. También pueden ser imágenes obtenidas por ultrasonido. Dado que los filtros 2D a tratar son lineales, se pueden separar en un producto de filtros de una dimensión. Así entonces, es posible aprovechar las ventanas Haar, Bartlett y Binomial para construir los mencionados filtros.

21.1.

Filtrado paso bajas de una imagen

La aplicación de un filtro suavizante puede verse desde el punto de vista espacial y desde el punto de vista espectral. Desde el punto de vista espacial, un suavizado hace difusos los detalles de tal maenra que ocupan más espacio. En cuanto al dominio de la frecuencia, se reduce el ancho de banda de la imagen.

21.1.1.

Filtro suavizante con ventana Haar

Para construir un filtro de bloque en 2D de orden N se realiza un producto de ventanas Haar de tal forma que resulta una matriz. hSof t;Haar;Q×Q =

1 (Q + 1)

T 2 wHaar;Q+1

351

× wHaar;Q+1

(21.1)

352

CAPÍTULO 21. FILTRADO LINEAL 2D 2

Nótese que el factor 1/ (N + 1) corresponde con la suma de los elementos de la matriz. Por ejemplo, para construir un filtro 2D suavizante del tipo Haar de orden 1 se realiza la siguiente operación: hSof t;Haar;1×1

=

1 T 4 wHaar;1 1 4

=



1 1 1 4

=





× wHaar;1 �

1 1

1 1 1

1 �



Otro ejemplo, un filtro Haar 2D suavizante de orden 2 × 2 sería: hSof t;Haar;2×2

21.1.2.

  1 � 1 1  1 = 9 1

1

1



 1 1 1 = 9 1

1 1 1

 1 1  1

Filtro suavizante binomial en 2D

Para construir un filtro de bloque en 2D de orden N se realiza un producto de ventanas Binomiales de tal forma que resulta una matriz. hsof t;Binomial;Q×Q =

1 22Q

T wBinomial;Q+1 × wBinomial;Q+1

(21.2)

Nótese que el factor corresponde con la suma de los elementos de la matriz. Por ejemplo, para construir un filtro 2D suavizante del tipo Binomial de orden 2 se realiza la siguiente operación: hSof t;Binomial;2×2

=

=

=

1 T 16 wBinomial;3



× wBinomial;3

 1 � 1  2  1 16 1 

1 1  2 16 1

2 4 2

2

1

 1 2  1



De forma semejante se construyen filtros de mayor orden.

21.1.3.

Ejemplo de suavizado con ventana Haar

La figura ilustra el proceso de suavizado de una imagen mediante la ventana Haar. El respectivo código se muestra en la misma figura.

21.2. SOBREMUESTREO 2D

21.1.4.

353

Ejemplo de suavizado con ventana binomial

La figura ilustra el proceso de suavizado de una imagen mediante la ventana Binomial. El respectivo código se muestra en la misma figura.

21.2.

Sobremuestreo 2D

Definición 21.1 El proceso de sobremuestreo 2D. Sea f una matriz finita y un factor de sobremuestreo de S columnas por R renglones. El sobremuestreo de f es otra matriz denotada como f ↑ (S × R) y consiste en intercalar intercalar S − 1 columnas nulas luego de cada columna y de intercalar R − 1 renglones nulos luego de cada renglón . Matemáticamente se define que: f ↑ (S × R)

(21.3)

En muchas herramientas informáticas ocurre que no existe una función para realizar un sobremuestreo 2D. En su lugar se plantea la necesidad de ingeniérselas con una función que realiza el sobremuestreo sobre las columnas de una matriz. Por ejemplo, considere la matiz mágica de 3 × 3.   8 1 6 a= 3 5 7  (21.4) 4 9 2 Si se le aplica un submuestreo en un factor de dos, resulta en:   8 1 6  0 0 0     3 5 7    a↑2=   0 0 0   4 9 2  0 0 0

(21.5)

Así entonces, un sobremuestreo en un factor S × R se expresa mediante el siguiente teorema: Teorema 21.1 El proceso de sobremuestreo 2D. Sea f una matriz finita y un factor de sobremuestreo de S columnas por R renglones . El sobremuestreo de f se realiza en forma aritmética como dicta la fórmula siguiente. �T � T f ↑ (S × R) = (f ↑ S) ↑ R

(21.6)

El teorema 21.1 dicta que la matriz de imagen primero es sobremuestrada en sus columnas en un factor S. La matriz resultante se transpone por lo que a continuación se sobremuestrean las columnas, esta vez en un factor R. finalmente, la matriz que resulta del segundo sobremuestreo se transpone y esa es la

354

CAPÍTULO 21. FILTRADO LINEAL 2D

matriz de imagen sobremuesreada en un factor S × R. Expresada en forma de código, la relación 21.6, queda como: f=magic(3) %Definición de la matriz R=2; %Sobre muestreo de los renglones en 2 S=3; %Sobremuestreo de las columnas en 3

upsample ( upsample( f , R )’ , S )’

21.3.

Interpolación 2D

El proceso de interpolación descrito a continuación implica que la imagen será imterpolada en sus renglones y en sus columnas en un mismo factor. A este resspecto se tiene los siguientes parámetros de interpolación Factor de interpolación S: cuántas muestras se interpolan. Grado de interpolación G: es el grado del polinomio usado para interpolar. Definición 21.2 La interpolación en factor S × S grado cero o de ventana Haar. Consiste en que las muestras interpoladas son una repetición de las muestras vecinas. Matemáticamente, este filtro se define como la convolución entre una secuencia sobremuestreada y una ventana Haar. � � T × wHaar;S IS×S;0 { f } = [f ↑ (S × S)] ∗ wHaar;S

(21.7)

El siguiente código ilustra un proceso de interpolación con ventana Haar en un factor de dos: f=magic(3); w_Haar=[1,1]; g=upsample(upsample(f,2)’,2)’ conv2(g, w_Haar’*w_Haar)

Definición 21.3 La interpolación en factor S×S grado uno o de ventana Bartlett. Consiste en que las muestras interpoladas se calcularon empleando la ecuación de la línea recta. Matemáticamente, este filtro se define como:

IS×S,1 { f } = [f ↑ (S × S)] ∗



1 T w × wBartlett;2S+1 S 2 Bartlett;2S+1



(21.8)

El siguiente código ilustra un proceso de interpolación con ventana Bartlett en un facto de dow: f=magic(3); w_Bart=[0,1,2,1,0]; g=upsample(upsample(f,2)’,2)’ conv2(g, w_Bart’*w_Bart)/4

21.3. INTERPOLACIÓN 2D

355

Figura 21.1: La imagen es una cortesía de Toni Frissell, fotógrafa en tiempos de la Segunda Guerra Mundial. Su trabajo puede ser encontrado en la Internet.

356

CAPÍTULO 21. FILTRADO LINEAL 2D

21.4.

Cuestionario de fin de capítulo

1. Realice un script en MATLAB que submuestre la imagen de la figura 21.11 en factores de dos, tres y cuatro. (el submuestreo no lleva filtrado). a) b) c) d)

Reporte Reporte Reporte Reporte

la la la la

imagen imagen imagen imagen

final. submuestreada en dos. submuestreada en tres. submuestreada en cuatro.

2. Realice un script en MATLAB que decime en un factor de dos, tres y cuatro la imagen anterior aplicando previamente un filtro suavizante de su elección. a) Reporte la imagen original. b) Forme y reporte un filtro adecuado para para la decimación en un factor de dos. c) Forme y reporte un filtro adecuando para la decimación en un factor de tres. d ) Forme y reporte un filtro adecuando para la decimación en un factor de cuatro. e) Reporte la imagen decimada en un factor de dos. f ) Reporte la imagen decimada en un factor de tres. g) Reporte la imagen decimada en un factor de cuatro. 3. Tome una fotografía de Ud. La resolución de la foto debe ser de 160x120. a) b) c) d) e) f) g) h) i) j)

Reporte la fotografía Aplique un sobremuestreo Aplique un sobremuestreo Aplique un sobremuestreo Aplique un sobremuestreo Aplique un sobremuestreo Aplique un sobremuestreo Aplique un sobremuestreo Aplique un sobremuestreo Aplique un sobremuestreo

(sin filtrado) de 2x2 y reporte. (sin filtrado) de 3x3 y reporte. (sin filtrado) de 4x4 y reporte. con filtro Haar de 2x2 y reporte. con filtro Haar de 3x3 y reporte. con filtro Haar de 4x4 y reporte. con filtro Bartlett de 2x2 y reporte. con filtro Bartlett de 3x3 y reporte. con filtro Bartlett de 4x4 y reporte.

4. Tome una foto de Ud. La resolución de la foto debe ser de 320x240 a) Realice una interpolación en un factor de 1.5, es decir, 3/2 1 La fotografía de la figura 21.1 fue tomada por Toni Frissell. Su trabajo puede ser encontrado en http://www.culturainquieta.com/es/fotografia/item/1610-toni-frissell.html.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.