Funciones > Transformadas y filtros > Ejemplo: Filtrado de una imagen
  
Ejemplo: Filtrado de una imagen
Demuestre el filtrado en el dominio de la transformada de Fourier en dos dimensiones mediante la convolución de una imagen bidimensional mediante una ventana con DFT inversa. El filtro es una abertura cuadrada, un filtro de paso bajo.
1. Defina las cotas y elementos de una matriz de imagen.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
2. Utilice la función scale para escalar la imagen.
Pulse aquí para copiar esta expresión
3. Utilice la función WRITEBMP para grabar la imagen en un fichero externo.
Pulse aquí para copiar esta expresión
4. Busque el fichero grabado e inserte la imagen.
(cross.bmp)
5. Defina las dimensiones de la abertura.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
6. Utilice la función scale para escalar la abertura y después grabe la imagen en un fichero externo.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
7. Busque el fichero grabado e inserte la imagen de la abertura.
(aperture.bmp)
La función boxcar en 2D se transforma en una función sinc en 2D, con la mayor parte del contenido de frecuencia en las frecuencias bajas (en el centro), lo que la convierte en un filtro de paso bajo adecuado.
8. Para realizar la convolución de la abertura con la imagen, utilice la función Transformada de Fourier discreta de datosdft para transformar ambas, multiplique las transformadas por elementos mediante el operador vectorizador y, a continuación, utilice la función idft para tomar la transformada inversa.
Pulse aquí para copiar esta expresión
9. Utilice la función center para asegurarse de que el componente CC de la imagen esté en el centro.
Pulse aquí para copiar esta expresión
10. Convierta los elementos de la matriz en números reales.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
11. Utilice la función scale para escalar la imagen.
Pulse aquí para copiar esta expresión
12. Utilice la función invertimage para invertir la imagen.
Pulse aquí para copiar esta expresión
13. Utilice la función WRITEBMP para grabar la imagen en un fichero externo.
Pulse aquí para copiar esta expresión
14. Busque el fichero grabado e inserte la imagen de la cruz.
(cross_aperture.bmp)
La nueva imagen ha perdido su contenido de alta frecuencia, es decir, los bordes agudos.
15. Invierta el proceso mediante una deconvolución; para ello, divida la transformada de la imagen por elementos entre la transformada de abertura (se suma una pequeña cantidad a cada elemento de la abertura para garantizar que no haya ninguna división entre 0).
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
16. Busque el fichero grabado e inserte la imagen de la cruz.
(reversed.bmp)
La imagen ha recuperado su contenido de alta frecuencia, es decir, los bordes agudos.