想必很多人都聽說過多點觸控 (Multi-Touch)。資訊類或設計類大專院校在製作畢業製作(專題)時,往往會想以多點觸控為人機介面發展各種有趣的應用或軟體。但由於電容式觸控面板成本高昂,bluh bluh bluh種種理由歸納出:身為一個窮學生,必須在有限地時間、金錢達成最終目的。於是乎,TouchLib 等等軟體以電腦視覺與影像處理技術去模擬電容式多點觸控面板的 Library 誕生。他的架構大概是利用 C/C++ based OpenCV 撰寫核心 (辨識, 影像處理),以 Java 撰寫 Server 端程式 (TUIO)。廢話不多說,記錄一下實作過程:

所需設備:

1. IR 紅外線投射燈 (使用經驗: 以發散45度最好用) 及相對應 DC12V 1A 變壓器

2. 網路攝影機 Webcam (使用經驗: 微軟中階效能較好, 甚至比羅技高階還好用)

3. 軟碟片一張

4. 辨識用布幕

 

架構步驟大概就是先將 Webcam 拆開來,將阻隔紅外線的濾鏡 (IR CUT FILTER) 給擊碎或拔掉,再將 Webcam 組回去。此時,隨意拿個遙控器對著 Webcam 照,如果看得到遙控器的紅外線光源,代表 Webcam 可以"看"到紅外光 (如果 Webcam 本來就看得到紅外光就免拆囉)。

接下來,將軟碟片拆開,將軟碟遮住 Webcam,其目的在於遮掉"人"的肉眼可見光,但是軟碟片並不會將紅外光整個擋掉。此時,一樣拿遙控器對著被鬼遮眼的 Webcam 照,看看是不是除了紅外線光之外全都看不到了。若是,即可進行下一步驟。

 

重頭戲。我們需要一個布幕 (或壓克力板上緊鋪著一片描圖紙),用紅外線投射燈直直對著照 (請確定紅外線光源分布平均)。接著可在布幕的另一端以手指輕壓步幕,即可得知紅外光是否有全反射。

最後,一切交給 TouchLib。當然需要先做校正的一些手續,不贅述。

 

總計大約花個十五分鐘就能設定完成

小小 Demo

 

 

 

延伸閱讀:

影麻吉Image - [分享] 玩玩紅外線網路攝影機

創作者介紹

DKBLOG

DK 發表在 痞客邦 PIXNET 留言(10) 人氣()


留言列表 (10)

發表留言
  • kaoshimin
  • 嗯嗯,了解,謝謝你的資訊,我知道該怎麼做了^^
  • 有機會的話分享一下作品囉 ^^

    DK 於 2009/10/15 22:17 回覆

  • 羊皮狼
  • 其實自製電容觸控板的成本比買webcam還來的便宜哪,使用蝕刻式電路板就可以作起來了。
  • 是這樣啊!
    那請問自製電容觸控板大約30"範圍的話,做到可以work多點觸控大概需花費多少錢呢? 還請您分享一下經驗!

    因為我們 webcam 是計畫的,所以對我而言是沒成本 XD
    另外有個好處,就是無論要做1"或40"左右的範圍都用一支 webcam 即可達成 ^^

    DK 於 2010/02/11 13:26 回覆

  • 羊皮狼
  • 以我以前試過的觸控法,雙層金屬電路板四角掛AD取樣電流變化,總價不到一百元吧。但缺點是面積無法太大,至於多點處控就沒試過了。
  • 羊皮狼
  • 另外,以前想過一種方法但沒做過,方法算蠻爛的。就是以前有一種處控按鈕,因為人體接觸其中一面改變電容使得電壓變化,可以判讀是否按下。因此將雙層蝕刻版單面Layout成細小的按鈕矩陣,藉由讀取矩陣側邊的high與low變化可以判斷出手指位置。如果根據時間與資料變化的方式,應可推斷出現在是幾點座標變化中。
  • 羊皮狼
  • 大致搜尋了一下,看樣子我的方法是最爛的了。我個人覺得,利用影像拍攝法去做觸控,這位老兄的方法就不錯,可以參考一下
    http://www.youtube.com/watch?v=5s5EvhHy7eQ

    如果不能看,到youtube搜尋這個標題"Low-Cost Multi-touch Whiteboard using the Wiimote"

  • Johnny Lee 的方法流傳許久,唯一缺憾是以發射紅外線光的筆當作互動媒介(事實上可說原理與 TouchLib 無異)。利用 WiiMote 本身對紅外線光的追蹤功能,透過 PC 的軟體能直接校正並轉換為二維座標。但是,最多只能支援四個紅外線點光源。

    人機介面最終形式應為沒有實體介面,因為人類操控一個物體或執行某項動作的流程是由大腦送出訊號,傳達到肢體,然後動作。這也是為什麼最近幾年不少學者積極發展腦波控制的原因之一。

    因此,以人機介面領域的角度切入,越簡單的操作模式往往是越好的人機介面設計。
    所以要看著眼點在於何處?

    若以小範圍多點觸控及方便性高為著眼點,則學者 Johnny Lee 的方式為最佳解。
    若以大範圍真正多點觸控且具最直覺人機互動方式(手指觸控),那麼 Webcam + IR (TouchLib) 的方案是我們的選擇。不過這類 Vison-based 的方式,對硬體要求非常嚴苛。

    歡迎有更好的方法(無論實驗性或商業性)提出討論 ^^

    DK 於 2010/02/11 19:03 回覆

  • 羊皮狼
  • 我之前才進行過ECG(心電儀)的評估,而ECG的進階就是EEG(腦波儀)了。我認為腦波控制暫時無法成為主流,原因來自於商用晶片處理能力不足。ECG的電壓範圍為正負5mV之間,雜訊處理與解析度提升已經極度難做,而EEG的電壓則低到5~200uV的範圍,相對的前端放大器與抗雜訊處置上,硬體成本會大過你用的Vision-based要求。

    而目前的遊戲腦波遙控器基於我前面提到的問題,就無法做到像用手拿筆那種程度的精密控制。
  • SB
  • 有沒有可能利用wii的IR sensor bar代替你所使用的紅外線投射燈呢?
  • 我印象中 Wii IR Sensor bar 好像只有 5-8 顆 IR Led,
    如果是用jonny lee的方式做multi-touch那麼可以用Wii的bar來取代。

    而用touchlib這套做法,因為是vison-based的方式偵測從人的皮膚反射回來的紅外光,所以需要較強的紅外線燈照射。
    我有試過,如果將multi-touch的面積縮小(約20吋以內),是可以用一個投射燈就擺平(約20顆IR led)。提供你參考

    DK 於 2010/04/13 09:57 回覆

  • tocute
  • 剛好我有做過一模一樣的實驗ㄟ
    不過我是去買 ir camera Orz 很貴
  • 您碩論在做這個嗎?該不會是IVLab吧 :-D

    DK 於 2010/04/23 11:13 回覆

找更多相關文章與討論