Görüntüyü tamsayı faktörüne göre küçültme


16

Görüntüyü bir tamsayı faktörü altörneklerken , bariz yöntem, çıkış görüntüsünün piksellerini giriş görüntüsünde karşılık gelen n × n bloklarının ortalamasına ayarlamaktır .nnxn

Bir yerde bu yöntemin en uygun olmadığını okuduğumu belirsiz bir şekilde hatırlıyorum (üzgünüm herhangi bir ayrıntıyı hatırlamıyorum)

Daha iyi bir yöntem olduğu doğru mu? Sinyal işleme hakkında çok şey bilmiyorum, bu soru beni ilgilendiriyor.


sinyal işleme altyapınız yoksa, layman'ın açıklaması şöyledir: Altörnekleme için daha iyi yöntemler vardır. Aşağı örnekleme algoritmanız, görüntü pikseli boyutunu N ile küçültecaktır, ancak yukarıda açıklanan algoritma, daha iyi aşağı örnekleme algoritmalarına kıyasla büyük ölçüde azalır.
Trevor Boyd Smith

Yanıtlar:


16

Bir görüntünün altörneklenmesi, sinyali temsil edebilecek örnek sayısını azaltır. Frekans alanı açısından, bir sinyal altörneklendiğinde, sinyalin yüksek frekanslı kısmı düşük frekanslı kısım ile yumuşatılır. Görüntü işlemeye uygulandığında, istenen sonuç sadece düşük frekanslı kısmı korumaktır. Bunu yapabilmek için, orijinal görüntünün yüksek frekans kısmını kaldırmak için ön işleme tabi tutulması (takma adla filtrelenmesi) gerekir, böylece takma adı oluşmaz.


Yüksek frekanslı kısmı (en keskin kesimle) çıkarmak için en uygun dijital filtre sinc işlevidir . Bunun nedeni, Sinc işlevinin frekans etki alanı gösteriminin tüm düşük frekans bölgesi üzerinde neredeyse sabit 1 ve tüm yüksek frekans bölgesi üzerinde neredeyse sabit 0 olmasıdır.

sinc(x)=günah(πx)πx

Sinc filtrenin dürtü yanıtı sonsuzdur. Lanczos filtresi , içsel katsayıları zayıflatan ve değerler önemsizliğe düştüğünde bunları kısaltan değiştirilmiş bir iç filtre.


Ancak, frekans alanında optimal olmak, insan gözünde optimal olduğu anlamına gelmez. Doğrusal dönüşümlere uymayan, ancak doğrusal olanlardan daha iyi sonuçlar veren yukarı örnekleme ve aşağı örnekleme yöntemleri vardır.


nxn

Koordinat yazışmalarındaki minimum gereklilik,

  1. Bir tamsayı faktörüne göre rastgele rasgele değerler içeren bir görüntünün üst örneklemesi, daha sonra aynı tamsayı faktörü ile altörnekleme, aynı görüntünün sayısal olarak minimum değişiklikle sonuçlanmasına neden olur.
  2. Yalnızca bir tek biçimli değerden oluşan bir görüntüyü yukarı örnekleme / alt örnekleme ve ardından ters işlem, minimum sayısal sapma ile aynı değerden eşit olarak oluşan bir görüntü ile sonuçlanmalıdır.
  3. Yukarı örnekleme / aşağı örnekleme çiftlerinin tekrar tekrar uygulanması, görüntü içeriğindeki kaymayı mümkün olduğunca en aza indirmelidir.

Samimi fonksiyonun ilgili bölgelerde "neredeyse" 1 ve 0 olması dönüşümüyle ne demek istiyorsun?

@Tim: Sinc filtrenin kesme frekansına yakın Gibbs fenomeni .
rwong

2
Sinc yeniden örnekleme sadece ses gibi frekans alanında algılanan / işlenen sinyaller üzerinde anlamlıdır. Görüntüler, en azından yaklaşık olarak, uzaysal alanda algılanır (bu tartışmalıdır; tekrarlanan paternlerin bir miktar algısının frekans alanında olması mümkündür) ve herhangi bir frekans-etki alanına dayalı dönüşümde kötü bozulmalar (çınlama vb.) uzaysal etki alanı. Temel olarak, herhangi bir negatif katsayılı herhangi bir evrişim / doğrusal işlem kötü yapay nesneler üretecek ve tüm negatif olmayan katsayıları olan herhangi bir bulanıklaştırma üretecektir.
R .. GitHub DURDURMA BUZA YARDIMCI OLMAK

6

Alan ortalamasının alabileceğiniz "en doğru" değere oldukça yakın olduğunu haklısınız, ancak keskin bir genişlik-N çizgisini N faktörü ile küçültürken sorun tutarsız davranıştır. N, keskin bir 1 piksel çizgisi elde edersiniz, ancak kabaca N / 2 mod N ise, çok bulanık bir çizgi elde edersiniz (yarım yoğunlukta 2 piksel genişliğinde). Bu çok kötü görünebilir ve doğrusal olmayan gama ile yoğunlukta bile farklılıklara neden olur. (İdeal olarak tüm yeniden örnekleme, doğrusal yoğunluk ölçeği için düzeltilmiş gama ile gerçekleştirilmelidir, ancak pratikte neredeyse hiç kimse bunu yapmaz çünkü gerçekten pahalıdır.)

Bunu geliştirmek istiyorsanız, önce bazı durumlarda bulanıklığı azaltmanın imkansız olduğu gerçeğini kabul etmeniz gerekir, bu nedenle tek tip çıktı elde etmenin tek yolu bulanıklığı arttırmayı içerir . İdeal yol, kaynak görüntü ile evrişim işlevi olarak bir adım işlevi yerine N / 2'den daha büyük yarıçapa sahip bir gauss çekirdeği kullanmaktır. Bununla birlikte, yaklaşık olarak N-by-N alan ortalaması uygulamanız varsa, bir yaklaşımla başa çıkmanın ucuz bir yolu, yalnızca sonuçta elde edilen altörneklemeye (1 / 4,1 / 2,1 / 4) bulanıklık konveksiyonu uygulamaktır. görüntüsü.

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.