Secara singkat, frekuensi mengacu pada tingkat perubahan. Lebih tepatnya, frekuensinya adalah kebalikan dari periode perubahan — yaitu, jumlah waktu yang dibutuhkan untuk berputar dari satu kecerahan (atau apa pun) ke kecerahan berbeda dan kembali lagi. Semakin cepat berubah (misalnya dari terang ke gelap), semakin tinggi "frekuensi" visual yang diperlukan untuk mewakili bagian gambar tersebut.
Dengan kata lain, Anda dapat menganggap frekuensi dalam suatu gambar sebagai tingkat perubahan. Bagian gambar yang berubah dengan cepat dari satu warna ke warna lain (misalnya tepi tajam) mengandung frekuensi tinggi, dan bagian yang berubah secara bertahap (misalnya permukaan besar dengan warna solid) hanya mengandung frekuensi rendah.
Ketika kita berbicara tentang DCT dan FFT dan transformasi serupa lainnya, kita biasanya melakukannya pada sebagian gambar (misalnya untuk kompresi JPEG, deteksi tepi, dan sebagainya). Maka, paling masuk akal untuk berbicara tentang transformasi, dalam konteks blok transformasi dengan ukuran tertentu.
Bayangkan, jika Anda mau, sebuah blok data gambar berukuran 32 piksel x 32 piksel. (Angka ini arbitrer.) Misalkan gambar adalah gradien sederhana yang berwarna putih di sisi kiri, hitam di tengah, dan putih di sisi kanan. Kita dapat mengatakan bahwa sinyal ini memiliki periode yang kira-kira satu panjang gelombang per 32 piksel lebar, karena ia melewati siklus lengkap dari putih ke hitam ke putih lagi setiap 32 piksel.
Kami dapat secara sewenang-wenang menyebut frekuensi ini "1" - 1 siklus per 32 piksel, yaitu. Samar-samar saya ingat bahwa ini biasa disebut θ dalam buku teks transformasi, atau mungkin θ / 2, tetapi saya bisa mengingat yang salah. Bagaimanapun, kita akan menyebutnya 1 untuk saat ini, karena ini benar-benar sewenang-wenang dalam arti absolut; yang penting adalah hubungan antara frekuensi dalam arti relatif. :-)
Misalkan Anda memiliki gambar kedua yang putih di satu sisi, lalu pudar dua kali lebih cepat sehingga berubah dari putih menjadi hitam, menjadi putih, menjadi hitam, dan menjadi putih lagi di tepi lainnya. Kami kemudian akan memanggil frekuensi itu "2" karena frekuensi itu berubah dua kali lebih sering dari lebar blok 32 piksel itu.
Jika kami ingin mereproduksi gambar sederhana itu, kami dapat mengatakan bahwa setiap baris terdiri dari sinyal dengan frekuensi 1 atau 2, dan Anda akan tahu seperti apa gambar itu. Jika gambar berubah dari hitam menjadi abu-abu 50%, Anda dapat melakukan hal yang sama, tetapi Anda harus mengatakan bahwa mereka memiliki frekuensi 1 atau 2 pada intensitas 50%.
Gambar dunia nyata, tentu saja, bukan hanya gradien sederhana. Gambar sering berubah dan tidak secara berkala saat Anda memindai dari kiri ke kanan. Namun, dalam blok yang cukup kecil (misalnya 8 piksel, 16 piksel), Anda dapat memperkirakan deretan piksel tersebut sebagai jumlah dari serangkaian sinyal, dimulai dengan rata-rata nilai piksel di baris tersebut, diikuti dengan jumlah " frekuensi 0,5 "sinyal (hitam di satu sisi, memudar menjadi putih) untuk berbaur (atau dengan jumlah negatif, jumlah sinyal yang dikurangi), diikuti oleh jumlah frekuensi 1, frekuensi 2, frekuensi 4, dan seterusnya .
Sekarang gambar unik karena memiliki frekuensi di kedua arah; itu bisa menjadi lebih terang dan lebih gelap ketika bergerak baik secara horizontal maupun vertikal. Untuk alasan ini, kami menggunakan transformasi DCT 2D atau FFT sebagai ganti 1D. Tetapi prinsip dasarnya masih sama. Anda dapat dengan tepat menampilkan gambar 8x8 dengan kisi 8x8 dengan ukuran ember yang sama.
Gambar juga lebih kompleks karena warna, tetapi kami akan mengabaikannya untuk saat ini, dan menganggap bahwa kami hanya melihat gambar skala abu-abu tunggal seperti yang mungkin Anda dapatkan dengan melihat saluran merah foto secara terpisah.
Adapun cara membaca hasil transformasi, itu tergantung pada apakah Anda melihat transformasi 1D atau transformasi 2D. Untuk transformasi 1D, Anda memiliki serangkaian nampan. Yang pertama adalah rata-rata dari semua nilai input. Yang kedua adalah jumlah sinyal frekuensi 1 yang akan ditambahkan, yang ketiga adalah jumlah sinyal frekuensi 2 yang akan ditambahkan, dll.
Untuk mengubah 2D, Anda memiliki n x n batas nilai. Kiri atas biasanya rata-rata itu, dan ketika Anda pergi ke arah horisontal, setiap ember berisi jumlah sinyal untuk bercampur dengan frekuensi horizontal 1, 2, 4, dll. Dan ketika Anda pergi ke arah vertikal, itu adalah jumlah sinyal untuk bercampur dengan frekuensi vertikal 1, 2, 4, dll.
Itu, tentu saja, cerita lengkap jika Anda berbicara tentang DCT; sebaliknya, setiap nampan untuk FFT berisi bagian nyata dan imajiner. FFT masih didasarkan pada ide dasar yang sama (semacam), kecuali bahwa cara frekuensi dipetakan ke tempat sampah berbeda dan matematika adalah hairier. :-)
Tentu saja, alasan paling umum untuk menghasilkan transformasi semacam ini adalah untuk kemudian melangkah lebih jauh dan membuang beberapa data. Misalnya, DCT digunakan dalam kompresi JPEG. Dengan membaca nilai-nilai dalam pola zig-zag dimulai dengan kiri atas (rata-rata) dan bergerak ke kanan bawah, data yang paling penting (informasi rata-rata dan frekuensi rendah) direkam terlebih dahulu, diikuti oleh data frekuensi yang semakin tinggi. Pada titik tertentu, Anda pada dasarnya mengatakan "ini cukup baik" dan membuang data frekuensi tertinggi. Ini pada dasarnya menghaluskan gambar dengan membuang detail halusnya, tetapi masih memberi Anda kira-kira gambar yang benar.
Dan IIRC, FFT juga kadang-kadang digunakan untuk deteksi tepi, di mana Anda membuang semua kecuali komponen frekuensi tinggi sebagai alat untuk mendeteksi area kontras tinggi di tepi yang tajam.
National Instruments memiliki artikel bagus yang menjelaskan hal ini dengan gambar. :-)