Görüntülerde frekans alanı neyi ifade eder?


110

Sadece görüntülerin frekans alanı hakkında öğreniyordum.

Dalga durumunda frekans spektrumunu anlayabilirim. Bir dalgada hangi frekansların bulunduğunu gösterir. frekans spektrumunu , ve bir impuls sinyali alırız . Ve belirli bilgileri çıkarmak için karşılık gelen filtreleri kullanabiliriz.cos(2πft)f+f

Fakat görüntülerde frekans spektrumu ne anlama geliyor? OpenCV'de bir görüntünün FFT'sini çektiğimizde tuhaf bir fotoğraf çekiyoruz. Bu görüntü neyi ifade ediyor? Ve uygulaması nedir?

Bazı kitaplar okudum, ancak fiziksel imalardan çok bir sürü matematiksel denklem veriyorlar. Öyleyse, görüntü işleme alanında basit bir uygulama ile görüntülerde frekans etki alanı hakkında basit bir açıklama yapabilir mi?


5
Bir dönüşümün ne yaptığını anlamanın en iyi yolu, ters dönüşüme basit girdiler besleyerek dolaşmaktır .
endolith

1
Ayrıca Steve Eddins'in bu ilginç açıklamasına da bakın blogs.mathworks.com/steve/2009/12/04/…
Alessandro Jacopson

@endolith Evet! Neler olduğunu ve neden olduğunu tam olarak anlamak için önceden etki alanı hakkında biraz bilgiye ihtiyacınız var ..
SIslam

canım görüntünün frekans alanı, hertizde belirli bir frekansa göre (dc bileşeni, düşük frekans ve yüksek frekans) belirli bir güç ile ilgili olarak watt cinsinden güç yoğunluğunu temsil eder
mntaser, 22

Yanıtlar:


93

Fakat görüntülerde frekans spektrumu ne anlama geliyor?

"Matematiksel denklemler" önemlidir, bu yüzden onları tamamen atlamayın. Ancak 2d FFT'nin de sezgisel bir yorumu var. Örnek olarak, birkaç örnek görüntünün ters FFT değerini hesapladım:

görüntü tanımını buraya girin

Görebileceğiniz gibi, frekans alanında sadece bir piksel belirlenir. Görüntü alanındaki sonuç (sadece gerçek kısmı gösterdim) bir "döndürülmüş kosinüs deseni" dir (hayali kısım karşılık gelen sinüs olacaktır).

Frekans etki alanında farklı bir piksel ayarlarsam (sol kenarda):

görüntü tanımını buraya girin

Farklı bir 2d frekans paterni alıyorum.

Frekans alanında birden fazla piksel ayarlarsam:

görüntü tanımını buraya girin

İki kosinüsün toplamını alırsın.

Dolayısıyla, bir sinüs dalgası gibi, bir sinüs ve kosinüs toplamı olarak temsil edilebilir, herhangi bir 2d görüntü, yukarıda gösterildiği gibi, "döndürülmüş sinüs ve kosinüslerin" toplamı olarak gösterilebilir (gevşekçe konuşur).

opencv'de bir görüntünün bir kısmını çektiğimizde, garip bir resim elde ederiz. Bu görüntü neyi ifade ediyor?

Eklendiğinde size orijinal görüntüyü verecek olan sinüslerin / kosinüslerin genlik ve sıklıklarını gösterir.

Ve uygulaması nedir?

Hepsine isim vermek için gerçekten çok fazla var. Korelasyon ve evrişim bir FFT kullanılarak çok verimli bir şekilde hesaplanabilir, ancak bu daha çok bir optimizasyondur, bunun için FFT sonucuna "bakmazsınız". Görüntü sıkıştırma için kullanılır, çünkü yüksek frekanslı bileşenler genellikle sadece gürültüdür.


3
frekans alanı görüntüsünde hangisinin yüksek frekans, hangisinin düşük frekanslı olduğunu belirtebilir misiniz?
Abid Rahman K

4
@arkiaz: Gösterdiğim görüntülerde, en yüksek frekans görüntünün merkezinde, en düşük frekans (yani giriş görüntüsünün ortalaması) FFT sonucundaki sol üst pikseldir. Çoğu FFT uygulamasının size verdiği budur. FFT sonucunu gösterirseniz, en düşük frekansı gösterilen görüntünün ortasına taşımak yaygındır.
Niki Estner

1
@Mohammad: Mathematica'nın InverseFourierfonksiyonunu kullandım. Oktav / matlab'ın ifft2aynısı yok mu?
Niki Estner

1
@JimClay Renkli görüntüler için, aslında YUV alanını kullanmanızı tavsiye ederim . Y = mutlak yoğunluk ve UV = renk. Renkli görüntüler için bile, ilgilendiğiniz bilgilerin çoğu görüntünün yoğunluk kısmındadır. Aynı matematiksel araçları kullanıyorsunuz, sadece geri dönüşümü unutmayın.
Atav32

4
Bunlar animasyonlar gibi harika olurdu, noktayı hareket ettirmek ve dalgaların genişlik ve açının nasıl değiştiğini göstermek gibi
endolith

29

Bunun iyi bilinen "DSP Rehberi" ne konulabildiğini düşünüyorum ( bölüm 24, bölüm 5 ):

Fourier analizi, görüntü işlemede tek boyutlu sinyallerle aynı şekilde kullanılır. Bununla birlikte, görüntüler frekans alanında şifrelenmiş bilgiye sahip değildir, bu da teknikleri daha az kullanışlı hale getirmektedir. Örneğin, Fourier dönüşümü bir ses sinyalinden alındığında, kafa karıştırıcı zaman alanı dalga formu, anlaşılması kolay bir frekans spektrumuna dönüştürülür.

Buna karşılık, bir görüntünün Fourier dönüşümünü alarak, uzaysal alandaki basit bilgiyi frekans alanındaki çırpılmış bir forma dönüştürür. Kısacası, Fourier dönüşümünün görüntülerde kodlanan bilgileri anlamanıza yardımcı olmasını beklemeyin.

Elbette, tipik bir görüntünün DFT'sini alarak elde edilen görünüşte rastgele kalıbın arkasındaki bir yapı ve anlam var (aşağıdaki örnek gibi), ancak insan beyninin sezgisel olarak anlamaya hazır olduğu bir biçimde değil, en azından görsel algı ile ilgili.

Imgur

Burada , bir görüntünün Fourier dönüşümünde neler bulunduğunun ve nasıl yorumlanabileceğinin bir başka ilginç ve okunabilir anlatımı. Fourier dönüşümü ile orijinal görüntü arasındaki ilişkinin ne olduğunu açıkça ortaya koyan bir dizi imge vardır.

düzenleme: Ayrıca , son olarak, bir görüntünün algısal olarak önemli bilgilerinin çoğunun, frekans gösteriminin faz (açı) bileşeninde nasıl saklandığını gösteren bir sayfaya da bakın .

düzenleme 2: Fourier temsilindeki faz ve büyüklük anlamının bir başka örneği: TU Delft'in “ Görüntü İşleme Temelleri ” adlı kitabının “Bölüm 3.4.1, Faz ve Büyüklüğün Önemi ” bunu açıkça göstermektedir:

Imgur


Hey! Sorunuzdaki ikinci bağlantıyı izlemeye çalıştım ( "başka bir ilginç ve okunaklı açıklama ..." ) ancak bağlantı çalışmıyor. Ayrıca yorumlarda verilen bağlantıyı da denedim, ancak çalışmıyor. Lütfen çalışan bir bağlantıyı bulabilir ve düzenleyebilir misiniz?
penelope

@penelope, bağlantıyla ilgili sorunları fark eden ikinci kişisiniz (önceki yorumuma bakın). Sayfa gerçekten de dengesiz görünüyor. Daha önce de söylediğim gibi, bağlantıyı Web Arşiv sürümüyle değiştireceğim. Bunu gösterdiğin için teşekkürler!
Waldyrious

1
Aslında, (sonunda çalışan) bağlantısındaki örnekler ve açıklamalar harika :)
penelope

12

Dalga tek boyutlu bir dalga; Sadece bağlıdır . Dalga iki boyutlu bir dalgadır. Bu ve bağlıdır . Gördüğünüz gibi, her iki yönde de iki frekansınız var.f(t)=cos(ωt)tf(x,y)=cos(ωx+ψy)xy

Bu nedenle, Fourier ait (FFT) dönüşümü verecek sadece FFT'sinin gibi, verir . Girişiniz 2D kosinüsleri toplayan bir işlevse, o zaman 2D FFT'niz bu kosinüslerin frekanslarının toplamı olacaktır - yine 1D FFT'nin doğrudan bir analoğu.cos(ωx+ψy)ω,ψcos(ωx)ω


10

Fourier Analizinin, ortogonal fonksiyonlar adı verilen bir konseptin özel bir durumu olduğunu belirtmek faydalı olabilir . Temel fikir, karmaşık bir sinyalin daha basit "temel" fonksiyonların doğrusal bir süperpozisyonuna bölünmesidir. İşleminizi veya analizinizi temel fonksiyonlarda yapabilir ve ardından orijinal sinyalin sonucunu almak için temel fonksiyonların sonuçlarını toplayabilirsiniz.

Bunun çalışması için temel fonksiyonlar için belirli bir matematik gereksinimi vardır, yani ideal olarak ortonormal bir temel oluştururlar. Fourier Dönüşümü durumunda, temel fonksiyonlar karmaşık üstellerdir. Bununla birlikte, bunun için kullanılabilecek başka birçok fonksiyon vardır.


Bu doğru. Başka hangi temel fonksiyonlar vardır? Şüphesiz dalgacık dalgacıklarını düşünüyorum ama başkaları da var mı? Onları farklı kılan ne?
Spacey

Muhtemelen en iyi bilinen polinomlardır; Bir fonksiyonun bir dizi polinom kümesi olarak gösterilmesi Taylor seri olarak bilinir . Bu seri fonksiyon türevlerinden kolayca hesaplanır.
MSalters

2
Temel işlevleri bulmanın bir yolu, Temel Bileşenler Analizi'ni uygulamaktır . Elde edilen 'öz-görüntüler' genellikle günah / cos işlevlerinden daha insan-sezgisel bir görünüme sahiptir. Bir örnek için bkz. Özyüzler . Frekans alanı hala algılamaya yöneliktir (gözlerimiz / beyinlerimiz, özellikle hareket söz konusu olduğunda frekansa duyarlı kenar dedektörlerine sahiptir); temel fonksiyonlar sadece görüntüler kadar anlamlı değildir.
Dan Bryant

PCA, yaygın olarak anlaşılan hoş bir temel hesaplama tekniğidir, ancak verilerin nasıl üretildiğiyle ilgili farklı varsayımlarda bulunan birçok başkaları vardır; Bağımsız Bileşen Analizi (ICA) popüler bir örnektir. Biraz daha uzaklarda, seyrek kodlamayı kullanarak genel temel fonksiyon öğrenmesi için algoritmalar var (örneğin J Mairal ve diğerleri, "Seyrek kodlama için çevrimiçi sözlük öğrenme", "ICML 2009) ve sonra derin ağlar tarafından geliştirilen" özellik öğrenme "yaklaşımları millet.
lmjohns3

1
İşlevler neden ortogonal olmak zorunda?
quantum231

8

Görüntülerde artan frekans, parlaklık veya renkteki daha ani geçişlerle ilişkilidir. Ayrıca, gürültü genellikle spektrumun yüksek ucuna gömülüdür, bu nedenle düşük geçişli filtreleme, gürültü azaltma için kullanılabilir.


1
yani ani geçişlerin bazen gürültü olarak algılandığını mı kastediyorsunuz?
Abid Rahman K

1
Evet bazen. Yaygın örnekler arasında sivrisinek gürültüsü (kenarlarda çalan), makro blokların kenarlarında JPEG blok gürültüsü ve tabii ki tahıl bulunur. Basit bir degrade görüntüsünü düşünün. Bu görüntüye gren eklemek, görüntü boyunca dakika geçişleri sunarak yüksek frekans içeriğini artırır.
Emre

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.