2016-03-31 23 views
2

Bir GO board tanımak ve bir SGF file oluşturmak bir Android uygulaması üzerinde çalışıyorum.OpenCV, zor bir arka planla kareyi algılıyor

i sipariş çözgü ve aşağıdaki gibi doğru çizgiler ve taşları bulmak mümkün için bütün kurulu algılamak gerekir.

  • ayrı kanallar kanalları

    Imgproc.Canny(channel, temp_canny, 30, 100); 
    
  • birleştirmek (bitwise

  • açıkgöz ayırmak:

    filledboard http://roelept82.eightytwo.axc.nl/pic/detect.png

    şimdi ben şu bir OpenCV RGB Mat kullanmak ve yapmak OR) tüm kanallar.

    Core.bitwise_or(temp_canny, canny, canny); 
    
  • bazı çizgiler, aşağıdaki resimde tahta ve taş olan siyah çizgiler görebilirsiniz azalıp kaybolması olarak

Yine ben sürekli kurulu algılamak mümkün değilim tahta kontur bulmak açıkça görülebilir ancak bazı yerlerde tahta kenarı eksik.

filledboard http://roelept82.eightytwo.axc.nl/pic/canny.png

ben bu algılamayı nasıl artırabileceğini

? veya i

  • panoları
  • panoları boş olabilir gitmek rengi değişir gitmek * Önemli *

    akılda tutulması gereken .. o tespit ve biri başarısız olduğunda aralarında geçiş birden fazla yol uygulamalıdır ya da tamamen taş
    dolu bu i
  • arka her zaman düz beyaz olmayan gemide dış siyah çizgi tespit dayanmaz ima

bu ı istiyoruz pictures with go boards küçük bir koleksiyon

* Güncelleme 23-05-2016

Senle bu çözmek için OpenCV kullanarak ilham bitti, yeni ilham kadar * saptamaktır takdir !!! Bu arada, makine öğrenimini kullanmaya başladım, ilk sonuçlar güzel ve sizi yayınlamaya devam ediyorum, ancak hala bir opencv uygulaması yaratan yüksek umutlara sahibim.

+0

Eğer doğru bir şekilde anladıysam, sadece kartın dış sınırlarını * belirlemek istersiniz, değil mi? Eğer değilse ve her şeyi tespit etmek istiyorsanız, soru çok geniş ve çok daha karmaşık hale gelecektir. –

+0

Amacı tüm siyah ve beyaz taşların yerini tahtada tespit etmektir. Bir yol: Tam tahta köşelerini tespit etmek, tahtayı bir kareye çarpmak ve daha sonra taşları tespit etmek. İkinci adım oldukça kolay (benim sorudaki ilk resim bunun için bir çalışma tespit algoritması gösteriyor) – MaMiFreak

cevap

1

Aynı problem üzerinde çalışıyorum!Kamera

  • tahta zaman tahta beni tek çerçeveden çözgü parametreleri anlamak için izin verir
  • istikrarlı istikrarlı

    1. :

      Benim yaklaşımım iki şeyi varsaymak olduğunu hala boş (çalmadan önce). Kart kenarlarını kaç taş olursa olsun, her kareyi çözmek için bu parametreleri kullanın.

    +0

    Öneri için teşekkürler! Bir adroid uygulamasında çalışıyorum ve amacım oyun sırasında herhangi bir zamanda onu algılayabilmektir. openCV uygulamasını bıraktı ve şu anda iyi bir veri seti derlemek ancak şu anda küçük bir setle sonuçlar umut verici görünüyor: Makine öğrenimi ile gitti: http://stackoverflow.com/questions/35410997/opencv-different-approach-on-detecting-go-board/35417145? Noredirect = 1 # comment59488984_35417145 (Son düzenleme) – MaMiFreak