Funzioni > Trasformate e filtri > Esempio: applicazione di un filtro a un'immagine
  
Esempio: applicazione di un filtro a un'immagine
È possibile illustrare l'applicazione di un filtro nel dominio della trasformata di Fourier in due dimensioni eseguendo la convoluzione di un'immagine bidimensionale con una finestra utilizzando trasformate inverse DFT. Il filtro è un'apertura quadrata e consiste in un filtro passa basso.
1. Definire le dimensioni e gli elementi di una matrice immagine.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
2. Utilizzare la funzione scale per scalare l'immagine.
Fare clic per copiare questa espressione
3. Utilizzare la funzione WRITEBMP per scrivere l'immagine in un file esterno.
Fare clic per copiare questa espressione
4. Cercare il file scritto e inserire l'immagine.
(cross.bmp)
5. Definire le dimensioni dell'apertura.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
6. Utilizzare la funzione scale per scalare l'apertura, quindi scrivere l'immagine in un file esterno.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
7. Cercare il file scritto e inserire l'immagine dell'apertura.
(aperture.bmp)
La funzione boxcar 2D viene trasformata in funzione sinc 2D, con la maggior parte del contenuto di frequenza nelle basse frequenze (al centro), che la rendono un filtro passa basso appropriato.
8. Per eseguire la convoluzione dell'apertura con l'immagine, utilizzare la funzione dft per trasformare entrambe, moltiplicare le trasformate elemento per elemento utilizzando l'operatore di vettorizzazione e quindi utilizzare la funzione idft per la trasformata inversa.
Fare clic per copiare questa espressione
9. Utilizzare la funzione center per assicurarsi che il componente DC dell'immagine sia al centro.
Fare clic per copiare questa espressione
10. Trasformare gli elementi della matrice in numeri reali.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
11. Utilizzare la funzione scale per scalare l'immagine.
Fare clic per copiare questa espressione
12. Utilizzare la funzione invertimage per invertire l'immagine.
Fare clic per copiare questa espressione
13. Utilizzare la funzione WRITEBMP per scrivere l'immagine in un file esterno.
Fare clic per copiare questa espressione
14. Cercare il file scritto e inserire l'immagine della croce.
(cross_aperture.bmp)
La nuova immagine ha perso il proprio contenuto di alta frequenza, ovvero gli spigoli vivi.
15. Invertire il processo tramite deconvoluzione, ottenuta dividendo elemento per elemento la trasformata dell'immagine per la trasformata dell'apertura (a ogni elemento viene aggiunta una piccola quantità per garantire che non vi siano divisioni per 0).
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
16. Cercare il file scritto e inserire l'immagine della croce.
(reversed.bmp)
La nuova immagine ha riacquistato il proprio contenuto di alta frequenza, ovvero gli spigoli vivi.