Od sygnałów 1D do obrazów 2D
Transformata Fouriera Szybkiej (FFT) 1D rozkłada sygnał na składowe o częstotliwościach za pomocą sztuczki dziel i rządź Cooley'a-Tukaya, redukując koszt obliczeń w porównaniu z pierwotną FFT o złożoności O(N²) do O(N log N). Obraz jest po prostu siatką 2D próbek, a ponieważ DFT 2D jest rozkładalny, nie potrzebujesz fundamentalnie innego algorytmu do jego transformacji: uruchom 1D FFT radix-2 wzdłuż każdej linii, a następnie uruchom kolejną 1D FFT wzdłuż wszystkich wynikowych kolumn (lub odwrotnie). Rezultatem jest pełne spektrum częstotliwości obrazu, obliczone kosztem O(N log N) na linię i kolumnę zamiast płacenia ceny O(N²) za bezpośrednią transformację 2D.
Interpretacja widma wartości bezwzględnych
Po przekształceniu (i zazwyczaj przesunięciu, aby wyraz o częstotliwości zerowej znajdował się w centrum), spektrum o wartości bezwzględnej |X[u,v]| pokazuje, gdzie energia obrazu koncentruje się na przestrzennych częstotliwościach. Centrum reprezentuje niskie częstotliwości przestrzenne – gładkie, powoli zmieniające się jasności, szerokie kształty i gradienty w fotografii. Punkty oddalone od centrum oznaczają wysokie częstotliwości przestrzenne: ostre krawędzie, drobna faktura, szumy. Zdjęcie krajobrazu naturalnego zwykle ma prawie całą swoją energię skoncentrowaną w pobliżu centrum, ponieważ większość zawartości obrazu zmienia się delikatnie – co dokładnie wyjaśnia, dlaczego współczynnik wysokiej częstotliwości można często agresywnie odrzucać przy minimalnej widocznej utracie podczas kompresji.
Filtrowanie poprzez edycję spektrum
Filtracja w domenie częstotliwości polega na pomnożeniu spektrum przez maskę, a następnie wykonaniu odwrotnej FFT, aby uzyskać zmodyfikowane obraz. Filtr dolnoprzepustowy utrzymuje jedynie dysk wokół środka i zeruje wszystko poza nim, co wygładza obraz poprzez odrzucenie szczegółów o wysokiej częstotliwości. Filtr wysokoprzepustowy robi to odwrotnie – zeruje środek i zachowuje krawędzie, co wyostrza brzegi i tłumi gładkie cieniowanie. Powtarzający się szum, taki jak powtarzające się paski z druku haltonowego lub artefakt czujnika aparatu, pojawia się jako kilka skupionych jasnych punktów w określonej lokalizacji oddalonej od środka, ponieważ powtarzający się wzór w domenie przestrzennej odpowiada ostremu, izolowanemu szczytowi w domenie częstotliwości. Filtrowanie wycinające (notch) celowe zeruje właśnie te punkty, usuwając paski, pozostawiając przy tym całą zawartość częstotliwości obrazu – i jego szczegóły – bez zmian.
2D FFT (separable): Step 1: FFT each row → O(N log N) per row Step 2: FFT each column → O(N log N) per column Total for N×N image: → O(N² log N) Filter → multiply spectrum by mask → inverse FFT → filtered image
Frequently asked questions
Jak obliczyć 2D-FFT obrazu?
2D-FFT jest rozkładalny: należy wykonać 1D-FFT radix-2 wzdłuż każdej linii obrazu, a następnie drugie 1D-FFT wzdłuż wszystkich wynikowych kolumn (lub odwrotnie). Daje to pełne spektrum częstotliwości przestrzennych w koszcie O(N log N) na linię i kolumnę zamiast kosztu O(N²) bezpośredniej transformacji 2D.
Co oznaczają jasne punkty w widmie wartości FFT obrazu?
Środek widma reprezentuje niskie częstotliwości przestrzenne — gładkie, powolnie zmieniające się zmiany jasności na całym obrazie, a punkty dalej od środka reprezentują wysokie częstotliwości przestrzenne, odpowiadające ostrym krawędziom i szczegółom. Silny wzór liniowy lub punktowy oddalony od środka zwykle wskazuje na strukturę okresową, taką jak powtarzające się paski, w oryginalnym obrazie.
Dlaczego usunięcie określonej częstotliwości eliminuje pasy w fotografii?
Pasy w obrazie pojawiają się jako niewielka liczba skoncentrowanych jasnych punktów na konkretnej lokalizacji w widmie częstotliwości, odpowiadającej częstotliwości i orientacji tych pasków przestrzennych. Filtr dolnoprzepustowy wyzeruje właśnie te punkty przed rekonstrukcją odwrotną FFT, usuwając paski, pozostawiając przy tym resztę zawartości częstotliwości obrazu.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz the simulation i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację the simulation