Domanda

Sto cercando di approssimare i confini della forma usando i descrittori di Fourier. So che questo può essere fatto perché l'ho imparato in classe e l'ho letto in diverse fonti.

Per ottenere i descrittori di Fourier di un limite di coordinate (x, y), faccio quanto segue: 1) Trasforma le coordinate (x, y) in numeri complessi della forma x + iy 2) Inserisci questo nuovo set di numeri nella trasformata di Fourier di 1D 3) L'output sono i descrittori di Fourier

Per approssimare il limite, rimuovo semplicemente (impostando a zero) le alte frequenze, quindi applico la trasformata inversa di Fourier, quindi riconvertisco i numeri complessi in (x, y) coordinate, quindi ricostruisco l'immagine da questo nuovo set di coordinate. L'obiettivo del mio progetto è scoprire come posso approssimare i confini a seconda di quanti termini ho impostato a zero.

Il mio problema è che ogni volta che imposto QUALSIASI delle frequenze su 0, la mia immagine in uscita è molto piccola e viene fuori come schemi molto strani.

Ho incluso un esempio di seguito. L'immagine in ingresso è un quadrato normale. La prima immagine di output fornita è la ricostruzione dell'immagine usando normalmente tutti i descrittori di Fourier. Si noti che l'intero confine non è presente perché il numero di pixel perimetrali è stato campionato a 256 e non mi sono preoccupato di collegare i punti durante l'output. Si noti inoltre che l'output è tradotto nell'angolo in basso a sinistra, questo era apposta. La seconda immagine di output è quando uso solo le prime 128 frequenze.

Immagine di input http://img19.imageshack.us/my.php ? image = square0.bmp

Immagine di output 1: tutte le frequenze http://img27.imageshack.us /my.php?image=square0normal.bmp

Immagine di output 2: prima metà delle frequenze http: //img23.imageshack .us / my.php? image = square0out.bmp

Qualcuno ha idea del perché ciò potrebbe accadere?

Modifica: la prima volta che metti le immagini qui, non sono sicuro del motivo per cui non vengono visualizzate .. ecco i link:
Immagine di input
Output1
Output2

Anche qui c'è un link a un documento che ne parla un po ', inizia alla fine della pagina 5.

È stato utile?

Soluzione

Il risultato che stai ottenendo è quello che ti aspetteresti se buttassi via le basse frequenze invece di quelle alte. Sei sicuro di quali frequenze sono quali?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top