Bir Hough'un De-Houghing nasıl dönüştürülür Görüntü?


9

Bir Hough dönüşümü oluşturmak için Rosetta Kodunda bulunan kodla çalışıyorum . Şimdi bir görüntüdeki tüm satırları bulmak istiyorum. Bunu yapmak için Hough uzayındaki piklerin her birinin ρ ve θ değerlerine ihtiyacım var. Bir beşgen için örnek çıktı şu şekildedir:

Hough Space

Hough uzayında görünen her bir “sıcak nokta” için tek bir [θ, ρ] koordinatını nasıl bulabilirim?

Yanıtlar:


9

Zirvelerin koordinatlarını buluyorsunuz ve sonra bunları [θ, ρ] koordinatlarına ölçeklemek için ekseni kullanıyorsunuz.

Verilerin ne kadar gürültülü olduğuna, kaç tane yanlış tepe beklediğinize ve ne kadar zamanınız olduğuna bağlı olarak, bunu yapmanın birkaç yolu vardır. En kolayı, gerçek bir zirve olan bir seviyeyi seçmek, bunun altındaki tüm verilerin kesilmesi ve daha sonra merkezini elde etmek için her zirvede bir ağırlık merkezi yapmaktır.

Ayrıca her tepe noktası tek bir piksel olana kadar görüntüyü aşındırabilir / çevirebilirsiniz.


1
Kesin cevap için +1. Nasıl tanımlarsınız / hesaplarsınız center of gravity?
Dipan Mehta

Daha fazla doğruluk için maksimumu bulun, ardından o noktaya ve komşu noktalarına bir paraboloid takın, sonra genellikle pikseller arasında olacak paraboloidin zirvesini bulun.
Mart'ta endolit

2
@endolit - genellikle Hough dönüşümleri ile doğruluk, ilk görüntüdeki kenarların tanımlanması ve Hough uzayında sonucun 'ayrıklaştırılması' ile sınırlıdır. Daha doğru bir sonuca ihtiyacınız varsa, daha yüksek bir çözünürlük elde etmek için bulduğunuz kurs çözümü etrafında Hough alanı elde etmek için geri dönüp dönüşü daha sınırlı bir [θ, ρ] koordinat aralığı için yeniden yapmak normaldir
Martin Beckett

@DipanMehta - basitçe ( her pikselin x değeri) ve (y ..) değerlerini toplayın, sonra aradığınız kutunun X, Y genişliğine bölün - ancak endolit yorumuna bakın
Martin Beckett


2

Belirli bir yarıçap için yerel maksimum değeri bulabilirsiniz. Örneğin, Hough resmini, yalnızca maksimum3x3 penceresi.

İkinci adım, pik pozisyonunun alt piksel doğruluğuna rafine edilmesi olabilir. Bu parabol bağlantı parçası ile yapılabilir.

Hough resmindeki değerin f(x) nerede x2B konumudur. Şimdi bir düzeltme vektörü bulmak istiyorsunuzp en üst düzeye çıkarmak f(x+p). Bu Taylor genişletmesi kullanılarak yazılabilir:

f(x+p)f(x)+pTf'(x)+12pTf"(x)+p

Düzeltme vektörü

p=-f"(x)-1f'(x)

Türevler, Hough görüntüsünden sonlu farklarla hesaplanabilir .

Bunu not et f"(x) bir 2x2 Kendir matrisi ve f'(x) 2 vektörü (yatay ve dikey gradyan), dolayısıyla p ayrıca lokal maksimizatörün doğru pozisyonunu elde etmek için bir alt piksel kaymasını belirten 2-vektördür.

Yukarıdaki denklem zaman zaman 1 pikselden fazla kaymalar verebilir. Bu durumda, maksimize edici mahallenin parabolik bir şekli yoktur ve düzeltmeyi yapmak istemeyebilir veya hatta aday maksimizörü düşürmeniz gerekebilir.


0

Gerig ve Klein tarafından 80'in ortalarında geliştirilmiş çok iyi bir teknik var. Her kenar noktasıyla ilişkili en olası noktayı tanımlamak için Hough alanını analiz eden ve daha sonra kenar noktalarının parametrelere eşlenmesinin bire çok değil bire bir olduğu ikinci bir Hough alanı oluşturan bir backmapping prosedürüdür. olağan ilk aşamadır. El referansım yok ama Illingworth ve Kittler'in seminal Hough inceleme belgesine bakın (yaklaşık 1987?)

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.