2012-02-08 10 views

cevap

8

Kinect, sensöre herhangi bir yüzeyin mesafesini temsil eden bir matris deph-map'ini döndürür ve pinhole camera model'u izleyerek her bir derinlik ölçümünü bir uygun RGB değeriyle hizalamak mümkündür. Derinlik matrisinin her bir pikselini, uzayda X, Y, Z ve RGB değeriyle ilişkilendirmeyi bildiğinizi düşüneceğim. Değilse, further research'u yapmanız ve derinlik sensörü ile RGB kamera arasında stereo korelasyonun nasıl yapıldığını anlamanız gerekecektir.

Burada tamamen farklı iki soru sordunuz. Birincisi, bazı temel geometri kavramlarıyla kolayca çözülebilir, ancak nesnenin uzaydaki konumunu bulmak için ikincisini çözmek gerekir.

Parlak renkli nesneleri bulmak için çeşitli yaklaşımlar vardır. Sensörünüz statik bir sahne kaydedecekse, Background Subsctraction'u kullanabilirsiniz. Bu, size önceden eğitilmiş bir arka plan modelinden farklı değerleri olan pikselleri temsil eden bir ikili görüntü üretecektir. Nesneleriniz açıkça arka plandan daha parlak renklere sahip olduğundan, Thresholding Segmentation'u basit bir şekilde uygulayabilirsiniz. Sadece RGB'yi HSL görüntüye dönüştürün ve daha yüksek Parlaklık değerlerine bakın. Sorununuzu çözmeyenler için birkaç başka yöntem vardır. Bu yöntemlerin her ikisini de takip etmek size blobs ile ikili bir görüntü dönecektir. Bu blobların merkezini, parlak renkli nesnelerin matris koordinatları olarak kullanabilirsiniz. 3 merkez blob'ları A 'B' ve C' ile

aşağıdaki resimde gösterilen gibi, aradığınız uçağı bulmak mümkün olacak:

Finding the plane

Açıklama: Bir düzlem bir nokta (konum) ve normal (yönelim) olarak temsil edilebilir. Tüm nesnelerin tam olarak bulmaya çalıştığınız düzlemde olacağı düşünüldüğünde, tek ihtiyacınız olan şey, o uçağın içindeki bir üçgeni temsil edecek 3 nokta, A, B, C'dir. Bu üçgen normal (A - B) x (C - B) - 'a eşittir, burada x çapraz ürünü - temsil eder ve düzlemle aynıdır. Yani, uçağınız bu 3 noktadan ve bu üçgenin normalinden biri olacak. Nesnenin boyutları önemliyse, uçak konumunuzu tanımlamak için bunları dikkate almanız gerekir.

+0

Bu harika bir cevap, çok fazla kinect yaptın mı? –

+0

Eh. Onunla bazı işler yaptım ve bazı bilgisayar projelerini de yaptım. Iyi bak! –

+0

Kürekleri kontrol etmek için futbol kullanan bir pong oyunu oluşturmak istiyorum. –

İlgili konular