使用Kinect多點觸控

2022-03-24 01:10:23 字數 1387 閱讀 4893

kinect入手乙個多月了,剛入手那天用alexp的驅動試了下,在windows平台上能夠拿到攝像頭和深度資料,然後就放到朋友的xbox上玩了幾天,確實很強大啊。本來想為它寫個多點觸控的軟體,準確的說應該是隔空操作吧,像少數派報告那種的。要寫起來也很簡單:

1)深度資料做個閾值;

2)blob tracking;

3)tuio發出去,然後就可以享用各種多點觸控的上層軟體了。

但考慮到它這麼強大,如果只是這麼做就太浪費了,應該搞點高階的,比如手勢識別啊、骨骼化之類的。無奈心有餘而力不足啊,高階的自己搞起來還是挺費勁,本來這個就是拿來娛樂的,搞得費勁就沒勁了,考慮到國際友人們對kinect如火如荼的破解熱情加上開源分享精神,決定坐等好的開源軟體放出來。可惜等到現在似乎還沒有什麼好東西,openkinect不錯,但好像windows上跑不起來。openni似乎更強大,但配置繁瑣,現在我還沒配置好。。。上週老闆又催我做點東西出來,畢竟花了實驗室1000多大洋,不能每次演示的時候就採個影象。所以這週就花兩三天弄了下,還是按照之前的想法,做個隔空觸控的軟體。以前做多點觸控的時候對ccv還是有一定研究的,所以改起來也很快,用下來效果還算可以吧,但隔空觸控的感覺總是有點怪,看來要發揮kinect的作用,還是要搞高階的啊。

p.s.想搞高階東西的同學可以去看看,如果配置好了的話我們一起**下~

剛剛為明天的實驗室例會準備了個ppt,把其中的一些東西貼這裡分享下。

kinect是微軟給xbox360遊戲機開發的乙個體感感測器,配有彩色攝像頭,深度感測器,加速度感測器,麥克風陣列,但由於kinect強大的功能和相對低廉的**,geeks們紛紛表示希望能在電腦上用它。於是就有多位大牛開發了驅動,目前我了解到的有三個:

1)cl nui platform

2)openkinect/libfreenect

3)openni

以上是我了解到的幾個driver,歡迎補充。

結合上述優缺點,作為不懂linux,沒錢買mac的悲劇geek,只能選擇cl nui platform了。下面簡單談談使用這個driver改寫ccv

對ccv就不做過多介紹了,多點觸控的利器,幾乎所有做多點觸控的公司都是直接使用或是間接借鑑了ccv,作為開發者之一鄙人相當自豪啊。所以現在改起來輕車熟路。讀入深度資料,做個閾值化,距離小於閾值的置一,其餘置零,就把深度影象轉成了二值影象,然後把這個影象賦給ccv裡的processedimg就好了,接下來ccv照常findcontours,track, send tuio。為了拍錄影時好看,還讀入了彩色攝像頭的資料,顯示在source image那裡,純粹為了顯示,不做任何處理。

以下是簡單的說明。

1) install kinect's driver

另外請注意,vs2008必須打sp1補丁!

在這篇博文裡更新了用openni的驅動玩多點觸控,不想用clnuiplatform的同學們可以試試。

Andrioid 多點觸控

event.getaction 獲取觸控動作比如action down event.getpointercount 獲取觸控點的數量,比如2則可能是兩個手指同時按壓螢幕 event.getpointerid nid 對於每個觸控的點的細節,我們可以通過乙個迴圈執行getpointerid方法獲取索引...

unity 多點觸控

用於繫結參照物物件 var target transform 縮放係數 var distance 10.0 左右滑動移動速度 var xspeed 250.0 var yspeed 120.0 縮放限制係數 var yminlimit 20 var ymaxlimit 80 攝像頭的位置 var x...

unity多點觸控

用於繫結參照物物件 vartarget transform 縮放係數 vardistance 10.0 左右滑動移動速度 varxspeed 250.0 varyspeed 120.0 縮放限制係數 varyminlimit 20 varymaxlimit 80 攝像頭的位置 varx 0.0 va...