Якщо коротко, частота стосується швидкості зміни. Точніше, частота - це зворотний період зміни, тобто кількість часу, необхідного для переходу від однієї яскравості (або будь-якої іншої) до іншої яскравості і назад. Чим швидше змінюється (наприклад, від світлого до темного), тим вище візуальна "частота", необхідна для представлення цієї частини зображення.
Іншими словами, ви можете вважати частоту зображення як швидкість зміни. Частини зображення, які швидко змінюються від одного кольору до іншого (наприклад, гострі краї), містять високі частоти, а частини, що змінюються поступово (наприклад, великі поверхні з суцільними кольорами), містять лише низькі частоти.
Коли ми говоримо про DCT та FFT та інші подібні перетворення, ми зазвичай робимо їх на частині зображення (наприклад, для стиснення JPEG, виявлення ребер тощо). Найбільш сенс говорити про перетворення тоді в контексті блоку перетворень заданого розміру.
Уявіть, якщо хочете, блок даних із зображеннями 32 пікселів на 32 пікселі. (Це число довільне.) Припустимо, що зображення - це простий градієнт, білий з лівого боку, чорний посередині та білий з правого боку. Ми би сказали, що цей сигнал має період, який становить приблизно одну довжину хвилі на 32 пікселі ширини, оскільки він проходить повний цикл від білого до чорного до білого знову кожні 32 пікселі.
Ми можемо довільно назвати цю частоту "1" - 1 цикл на 32 пікселі, тобто. Я тумано згадую, що це зазвичай називається θ в підручниках з перетворень, а може бути, θ / 2, але я міг згадати неправильно. Так чи інакше, ми зараз це назвемо 1, оскільки це справді довільно в абсолютному сенсі; Що важливо, це відношення між частотами у відносному значенні. :-)
Припустимо, у вас є друге зображення, яке біле на одному краю, а потім зів’яло вдвічі швидше, щоб воно перейшло від білого до чорного, до білого, до чорного та знову до білого на іншому краї. Тоді ми би називали цю частоту "2", оскільки вона змінюється вдвічі частіше за ширину блоку 32 пікселів.
Якби ми хотіли відтворити ці прості зображення, ми могли би буквально сказати, що кожен ряд складається з сигналу з частотою 1 або 2, і ви б знали, як виглядають зображення. Якщо зображення переходили від чорного до 50% сірого, ви можете зробити те ж саме, але вам слід сказати, що вони мали частоту 1 або 2 при інтенсивності 50%.
Зображення в реальному світі, звичайно, не просто простий градієнт. Зображення змінюється часто, а не періодично під час сканування зліва направо. Однак у межах досить невеликого блоку (наприклад, 8 пікселів, 16 пікселів) ви можете наблизити цей рядок пікселів як суму серії сигналів, починаючи із середнього значення пікселів у рядку з подальшим сумою значення " сигнал частоти 0,5 "(чорний на одній стороні, вицвітає до білого) для змішування (або з від'ємною сумою, кількість цього сигналу для віднімання) з подальшим значенням частоти 1, частоти 2, частоти 4 тощо .
Тепер зображення унікальне тим, що має частоту в обох напрямках; він може стати світлішим і темнішим при русі як горизонтально, так і вертикально. З цієї причини ми використовуємо 2D перетворення DCT або FFT замість 1D. Але принцип все одно в основному той самий. Ви можете точно зобразити зображення 8х8 за допомогою сітки 8х8 відроків однакового розміру.
Зображення також складніші через кольори, але ми поки що це будемо ігнорувати, і припустимо, що ми дивимось лише на одне зображення сірого масштабу, як ви могли б отримати, дивлячись на ізольований червоний канал фотографії.
Щодо того, як читати результати трансформації, це залежить від того, чи дивитесь ви на 1D або 2D перетворення. Для 1D перетворення у вас є ряд бункерів. Перший - це середнє значення всіх вхідних значень. Другий - кількість сигналу частоти 1, який потрібно додати, третій - кількість сигналу частоти 2, який потрібно додати, і т.д.
Для 2D перетворення у вас є сітка n x n значень. У верхньому лівому куті зазвичай це середнє значення, і, коли ви йдете в горизонтальному напрямку, кожне відро містить кількість сигналу для змішування з горизонтальною частотою 1, 2, 4 і т. Д. І, як ви йдете у вертикальному напрямку, це - кількість сигналу для змішування з вертикальною частотою 1, 2, 4 і т.д.
Це, звичайно, повна історія, якщо ви говорите про DCT; навпаки, кожен контейнер для FFT містить реальні та уявні частини. FFT все ще базується на одній і тій же базовій ідеї (роду), за винятком того, що спосіб відображення частот на біни відрізняється, а математика - хайєр. :-)
Звичайно, найпоширеніша причина для генерування таких видів перетворень полягає в тому, щоб потім піти на крок далі і викинути частину даних. Наприклад, DCT використовується при стисненні JPEG. Читаючи значення в зигзагоподібному шаблоні, починаючи з верхнього лівого кута (середній) та рухаючись до нижнього правого краю, найважливіші дані (інформація про середню та низьку частоту) отримують спочатку, після чого прогресують дані з більш високою частотою. У якийсь момент ви в основному говорите "це досить добре" і викидаєте дані найвищої частоти. Це по суті розгладжує зображення, викидаючи його дрібні деталі, але все одно дає приблизно правильне зображення.
І IIRC, FFT також іноді використовуються для виявлення країв, де ви викидаєте всі, крім високочастотні компоненти, як засіб виявлення областей високого контрасту на гострих краях.
У National Instruments є приємна стаття, яка пояснює це картинками. :-)