OpenCV

2009-09-03 25 views
7

'daki satırların yakınlık (Hough dönüşümü) nasıl test edilir (Bu, this previous question numaralı telefondan bir takiptir).OpenCV

Resimdeki çizgilerin (taranan metin) algılanması için OpenCV/Hough dönüşümlerini başarıyla kullandım; ilk başta çok sayıda satırı (metnin her satırı için en az bir satır) algılayacaktır, fakat deneme-ve-hata yoluyla 'eşik' parametresini ayarlayarak, şimdi yalnızca "gerçek" satırları algılar.

('Eşik' parametresi, görüntü çözünürlüğüne bağlıdır; bu, farklı çözünürlüklerin görüntüleriyle uğraşmak zorunda kaldığında bir sorun olabilir, ancak bu başka bir hikaye).

Sorunum, Hough dönüşümü bazen yalnızca bir tane olduğu iki satırı algılamasıdır; Bu iki çizgi birbirine çok yakın ve (görünüşte) paraleldir.

=> Bu iki çizginin neredeyse birbirine paralel ve birbirine çok yakın olduğunu nasıl belirleyebilirim? (böylece sadece bir tane tutabilirim).

+0

Güzel bir görüntü, çizgilerden hangi verilere sahiptir? – Janusz

cevap

8

Standart veya çok ölçekli çiftliği kullanırsanız, kutup koordinatlarındaki çizgilerin rho ve teta koordinatları ile sonuçlanırsınız. Rho, orijine olan mesafedir ve teta normalde tespit edilen hat ile Y ekseni arasındaki açıdır. Opencv içindeki hough dönüşümünün ayrıntılarına bakmadan, bu şu koordinatlarda genel bir kuraldır: iki satır birbiri ile neredeyse paralel ve çok yakın olduğunda: - onların değerleri hemen hemen aynı VE kendi rhosları hemen hemen aynıdır VEYA - onların cetvelleri 180 derece birbirine yakındır ve onların rhos'u birbirine yakındır

Umarım mantıklıdır.

+0

Evet, kesinlikle haklısınız; Sorumu gönderdikten sonra bunu buldum; Aslında OpenCV'de gerçekten basittir. Teşekkürler! – Bambax

+0

Ayrıca, "çözünürlük" parametresini daha yüksek ayarlarsa, daha az satır bulunur; ve bu aslında ihtiyacım olan şey. – Bambax

+0

'Neredeyse' anahtar kelimesine rho ve theta parametreleriyle nasıl bir eşik belirleyebiliriz? Örneğin, iki çizginin yaklaşık 0.5 radyan (eşik = 0,5) arasında maksimum açı ile neredeyse paralel olup olmadığını bilmek istiyorum. –

0

Çizgi ile y ekseni arasındaki açı olan theta ile ilgili ilginç.

Genel olarak, rho ve teta değerleri, x ekseninden, söz konusu çizgiye dik olan çizgiye olan açı olarak görüntülenir. Rho, bu dik çizgi uzunluğudur. Böylece, bir theta = 90 ve rho = 20, kökeninden 20 piksel kadar yatay bir çizgi anlamına gelir. Hough Transform question