W skrócie, częstotliwość odnosi się do tempa zmian. Mówiąc dokładniej, częstotliwość jest odwrotnością okresu zmiany - to znaczy czasu potrzebnego do przejścia z jednej jasności (lub cokolwiek innego) do innej jasności iz powrotem. Im szybsza niż zmiana (np. Z jasnego na ciemny), tym wyższa „częstotliwość” wizualna wymagana do przedstawienia tej części obrazu.
Innymi słowy, częstotliwość obrazu można postrzegać jako szybkość zmian. Części obrazu, które szybko zmieniają się z jednego koloru na drugi (np. Ostre krawędzie) zawierają wysokie częstotliwości, a części, które zmieniają się stopniowo (np. Duże powierzchnie o jednolitych kolorach) zawierają tylko niskie częstotliwości.
Kiedy mówimy o DCT i FFT i innych podobnych transformacjach, zwykle robimy to na części obrazu (np. W celu kompresji JPEG, wykrywania krawędzi itp.). Najbardziej sensowne jest mówienie o transformacjach w kontekście bloku transformacji o danym rozmiarze.
Wyobraź sobie, jeśli chcesz, blok danych obrazu 32 piksele x 32 piksele. (Ta liczba jest dowolna.) Załóżmy, że obraz jest prostym gradientem, który jest biały po lewej stronie, czarny po środku i biały po prawej stronie. Powiedzielibyśmy, że ten sygnał ma okres około jednej długości fali na 32 piksele szerokości, ponieważ przechodzi on przez cały cykl od bieli do czerni do bieli co 32 piksele.
Możemy dowolnie nazwać tę częstotliwość „1” - to znaczy 1 cykl na 32 piksele. Nieco pamiętam, że jest to powszechnie nazywane θ w podręcznikach transformacji, a może θ / 2, ale mogę źle pamiętać. Tak czy inaczej, nazwiemy to na razie 1, ponieważ to naprawdę jest arbitralne w absolutnym sensie; liczy się relacja między częstotliwościami w sensie względnym. :-)
Załóżmy, że masz drugi obraz, który jest biały na jednej krawędzi, a następnie wyblakł dwa razy szybciej, tak że zmienił się z białego na czarny, na biały, na czarny i ponownie na biały na drugiej krawędzi. Nazwalibyśmy wtedy tę częstotliwość „2”, ponieważ zmienia się ona dwa razy częściej na szerokości tego bloku 32 pikseli.
Gdybyśmy chcieli odtworzyć te proste obrazy, moglibyśmy dosłownie powiedzieć, że każdy rząd składa się z sygnału o częstotliwości 1 lub 2, a ty wiesz, jak wyglądają obrazy. Gdyby obrazy zmieniły kolor z czarnego na 50% szary, możesz zrobić to samo, ale musisz powiedzieć, że miały częstotliwość 1 lub 2 z intensywnością 50%.
Rzeczywiste obrazy oczywiście nie są zwykłym gradientem. Obraz zmienia się często, a nie okresowo, podczas skanowania od lewej do prawej. Jednak w wystarczająco małym bloku (np. 8 pikseli, 16 pikseli) można przybliżyć ten rząd pikseli jako sumę serii sygnałów, zaczynając od średniej wartości pikseli w rzędzie, a następnie częstotliwość 0,5 cala (czarny z jednej strony, blaknięcie do bieli) w celu wtopienia się (lub z wartością ujemną, ilość tego sygnału do odjęcia), a następnie ilość częstotliwości 1, częstotliwość 2, częstotliwość 4 itd. .
Teraz obraz jest wyjątkowy, ponieważ ma częstotliwość w obu kierunkach; może stać się jaśniejszy i ciemniejszy podczas poruszania się zarówno w poziomie, jak i w pionie. Z tego powodu używamy transformacji 2D DCT lub FFT zamiast 1D. Ale zasada jest w zasadzie taka sama. Możesz dokładnie przedstawić obraz 8x8 z siatką 8x8 wiader o podobnych rozmiarach.
Obrazy są również bardziej złożone ze względu na kolory, ale na razie je zignorujemy i założymy, że patrzymy tylko na pojedynczy obraz w skali szarości, jak można to zrobić, patrząc na czerwony kanał fotografii w izolacji.
To, jak odczytać wyniki transformacji, zależy od tego, czy patrzysz na transformację 1D, czy transformację 2D. Dla transformacji 1D masz szereg pojemników. Pierwszy to średnia wszystkich wartości wejściowych. Drugi to ilość sygnału o częstotliwości 1 do dodania, trzeci to ilość sygnału o częstotliwości 2 do dodania itp.
W przypadku transformacji 2D masz siatkę wartości n x n . Lewy górny róg jest zwykle taki średni, a gdy idziesz w kierunku poziomym, każde wiadro zawiera ilość sygnału do zmieszania z częstotliwością poziomą 1, 2, 4 itd., A gdy idziesz w kierunku pionowym, to to ilość sygnału do zmiksowania z częstotliwością pionową 1, 2, 4 itd.
To oczywiście pełna historia, jeśli mówisz o DCT; dla kontrastu, każdy pojemnik na FFT zawiera prawdziwe i urojone części. FFT nadal opiera się na tej samej podstawowej idei (z tym, że), z tym wyjątkiem, że sposób mapowania częstotliwości na przedziały jest inny, a matematyka jest bardziej włochata. :-)
Oczywiście najczęstszym powodem generowania tego rodzaju transformacji jest pójście o krok dalej i wyrzucenie części danych. Na przykład DCT jest używany do kompresji JPEG. Po odczytaniu wartości w zygzakowatym wzorze, zaczynając od lewego górnego rogu (średnia) i przechodząc w dolnym prawym rogu, najpierw rejestrowane są najważniejsze dane (informacje o średniej i niskiej częstotliwości), a następnie dane o stopniowo wyższej częstotliwości. W pewnym momencie w zasadzie mówisz „to wystarczy” i wyrzucasz dane o najwyższej częstotliwości. To zasadniczo wygładza obraz, odrzucając jego drobne szczegóły, ale nadal daje w przybliżeniu prawidłowy obraz.
I IIRC, FFT są również czasami używane do wykrywania krawędzi, gdzie wyrzucasz wszystkie elementy oprócz wysokiej częstotliwości jako środek do wykrywania obszarów o wysokim kontraście na ostrych krawędziach.
National Instruments ma fajny artykuł, który wyjaśnia to zdjęciami. :-)