Kısaca, frekans değişim hızını ifade eder. Daha kesin olarak, frekans, değişim süresinin tersidir - yani bir parlaklıktan (veya herhangi bir şeyden) farklı bir parlaklığa ve tekrar geri dönüşe kadar geçen süre. Bu durumda ne kadar hızlı değişirse (örneğin ışıktan karanlığa), görüntünün o kısmını temsil etmek için gereken görsel "frekans" o kadar yüksek olur.
Başka bir deyişle, bir görüntüdeki frekansı değişim oranı olarak düşünebilirsiniz. Görüntünün bir renkten diğerine hızla değişen kısımları (örneğin keskin kenarlar) yüksek frekanslar içerir ve yavaş yavaş değişen kısımlar (örneğin düz renklerle büyük yüzeyler) yalnızca düşük frekanslar içerir.
DCT ve FFT ve diğer benzer dönüşümler hakkında konuştuğumuzda, bunları genellikle görüntünün bir bölümünde yapıyoruz (ör. JPEG sıkıştırma, kenar algılama vb. İçin). Dönüşümler hakkında, o zaman, belirli bir büyüklükteki bir dönüşüm bloğu bağlamında konuşmak en mantıklıdır .
İsterseniz, 32 piksel x 32 piksel görüntü verisi bloğunu hayal edin. (Bu sayı isteğe bağlıdır.) Görüntünün sol tarafta beyaz, ortada siyah ve sağ tarafta beyaz olan basit bir gradyan olduğunu varsayalım. Bu sinyalin, 32 piksel genişlik başına kabaca bir dalga boyu olan bir süreye sahip olduğunu söyleyebiliriz, çünkü her 32 pikselde bir beyazdan siyaha beyaza tam bir döngüden geçer.
Bu frekansı keyfi olarak 32 piksel başına "1" - 1 döngü olarak adlandırabiliriz. Belli ki hatırlıyorum, bu genellikle dönüşüm kitaplarında θ veya belki θ / 2 olarak adlandırılır, ancak yanlış hatırlıyorum. Her iki durumda da, şimdilik 1 diyeceğiz, çünkü bu gerçekten mutlak anlamda keyfi; önemli olan, göreli anlamda frekanslar arasındaki ilişkidir. :-)
Bir kenarda beyaz olan, sonra beyazdan siyaha, beyaza, siyaha ve tekrar diğer kenarda beyaza gidecek şekilde iki kat daha hızlı solmuş ikinci bir görüntünüz olduğunu varsayalım. Daha sonra bu frekansı "2" olarak adlandırırız çünkü 32 piksel bloğun genişliği üzerinde iki kat daha sık değişir.
Bu basit görüntüleri çoğaltmak istiyorsak, kelimenin tam anlamıyla her satırın 1 veya 2 frekanslı bir sinyalden oluştuğunu söyleyebiliriz ve görüntülerin nasıl göründüğünü bilirsiniz. Görüntüler siyahtan% 50 griye giderse, aynı şeyi yapabilirsiniz, ancak% 50 yoğunlukta 1 veya 2 frekansa sahip olduklarını söylemelisiniz.
Gerçek dünya görüntüleri, elbette, sadece basit bir eğim değildir. Soldan sağa tarama yaparken görüntü sık sık değişir ve periyodik olarak değişmez. Ancak, yeterince küçük bir blokta (ör. 8 piksel, 16 piksel) bu piksel sırasını, satırdaki piksel değerlerinin ortalamasıyla başlayıp ardından " frekansı 0.5 "sinyali (bir tarafta siyah, beyaza doğru solma) karıştırmak (veya negatif bir miktar, çıkarmak için bu sinyalin miktarı), ardından frekans 1, frekans 2, frekans 4 vb. .
Artık bir görüntü her iki yönde de frekansa sahip olması bakımından benzersizdir; hem yatay hem de dikey olarak hareket ederken daha açık ve koyu hale gelebilir. Bu nedenle, 1D yerine 2D DCT veya FFT dönüşümleri kullanıyoruz. Ancak ilke hala aynı. Benzer boyuttaki kovaların 8x8 ızgarasıyla 8x8 görüntüyü tam olarak temsil edebilirsiniz.
Görüntüler ayrıca renkler nedeniyle daha karmaşıktır, ancak şimdilik bunu görmezden geleceğiz ve bir fotoğrafın kırmızı kanalına ayrı ayrı bakarak alabileceğiniz gibi yalnızca tek bir gri tonlamalı görüntüye baktığımızı varsayalım.
Bir dönüşümün sonuçlarını nasıl okuyacağınıza gelince, bu, 1D dönüştürmesine mi yoksa 2D dönüştürmesine mi baktığınıza bağlıdır. 1D dönüşümü için bir dizi bölmeniz var. Birincisi, tüm giriş değerlerinin ortalamasıdır. İkincisi, eklenecek frekans 1 sinyalinin miktarıdır, üçüncüsü eklenecek frekans 2 sinyalinin miktarıdır, vb.
2B dönüştürme için n x n değer ızgarasına sahipsiniz . Sol üst tipik olarak ortalamadır ve yatay yönde ilerledikçe, her kova 1, 2, 4 vb. Yatay frekansla karıştırılacak sinyal miktarını içerir ve dikey yönde ilerledikçe, 1, 2, 4 vb. dikey frekansla karıştırılacak sinyal miktarıdır.
Bir DCT hakkında konuşuyorsanız, elbette ki tam hikaye; aksine, bir FFT'nin her bölmesi gerçek ve hayali parçalar içerir. FFT hala aynı temel düşünceye (bir çeşit) dayanmaktadır, ancak frekansların kutulara eşlenme şekli farklıdır ve matematik daha kıllıdır. :-)
Tabii ki, bu tür dönüşümleri üretmenin en yaygın nedeni, bir adım daha ileri gitmek ve bazı verileri atmaktır. Örneğin, DCT JPEG sıkıştırmasında kullanılır. Sol üst kısımdan (ortalama) başlayıp sağ alt tarafa doğru hareket eden bir zikzak desenindeki değerleri okuyarak, en önemli veriler (ortalama ve düşük frekans bilgileri) önce kaydedilir, ardından giderek daha yüksek frekans verileri kaydedilir. Bir noktada, "bu yeterince iyi" diyorsunuz ve en yüksek frekanslı verileri atıyorsunuz. Bu, aslında ince detaylarını atarak görüntüyü pürüzsüzleştirir, ancak yine de size yaklaşık doğru görüntüyü verir.
Ve IIRC, FFT'ler bazen keskin kenarlardaki yüksek kontrast alanlarını tespit etmenin bir yolu olarak yüksek frekans bileşenleri hariç hepsini attığınız kenar tespiti için de kullanılır.
National Instruments'ın bunu resimlerle açıklayan güzel bir makalesi var. :-)