轉載自:http://blog.csdn.net/hardvb/article/details/1657008
站長目前推出了最便宜的互動投影系統,讓更多的人可以接觸到這種新的互動形式,請大家到我的網站http://www.vvvision.net 查看。
互動投影最近一直比較火,價格卻是不菲,最近研究了一下,其實原理是很簡單的。
我們知道光是一種電磁波,它的波長區間從幾個納米(1nm=10-9m)到1毫米(mm)左右。人眼可見的只是其中一部分,我們稱其為可見光,可見光的波長範圍為380nm~780nm,可見光波長由長到短分為紅、橙、黃、綠、青、蘭、紫光,波長比紫光短的稱為紫外光,波長比紅外光長的稱為紅外光。普通的網路攝影機感光晶片分為CCD或者CMOS, CCD色彩更好一些,CMOS造價便宜些, ,它們都有一種特殊的本領,那就是感知人眼看不到的地區。它們對近紅外線也都非常敏感。那麼當使用濾光片技術過濾掉可見光以後,那麼攝像機看到的是什麼的,應該是一片由紅外輻射組成的映像。
投影機投射的光線是可見光部分,它的紅外部分被它內部的過濾膜過濾掉了,這樣對於攝像機來講它看不到投影機投射的內容,如果紅外線如果強的話,攝像機就可以看見人體了。怎樣加強攝像機看到的物體的映像呢,幸運的是目前市場上這樣紅外主動發射技術已經很成熟了,例如監控市場上賣的那種夜視網路攝影機就可以發射近紅外(850 nm), 功率更大的有專門的遠距離紅外燈,不過目前夜視網路攝影機可以達到5m的距離,所以不需要了。夜視網路攝影機主動發射紅外,然後ccd感應器接受紅外,那麼互動投影中最難的部分,人體與背景虛擬對象的分割就解決了,攝像機得到的是一副黑白的單色背景的包括人的映像。
一張紅外相機的圖片
那麼下一步,怎樣檢測人體部分呢。這裡對於電腦視覺來講就是一個非常簡單的技術了,就是差分,差分就是把網路攝影機得到的連續兩幀的映像進行相減,那麼得到的是什麼呢,得到的是運動的部分,所以說只要人在動,差分就會把動的部分截取下來。接下來就是分析得到的資料了,再將虛擬部分投射出來了,不複雜吧。
差分映像樣本:
當然複雜的互動投影不只是這些技術,這些只是最基本的原理了,其間還涉及到攝像機的標定,光流法尋找運動方向,效能的最佳化處理,特殊的效果。
那麼互動投影最基本的裝置有那些呢,
A 紅外攝像機(只看紅外部分,可以用監控市場上賣的那種夜視網路攝影機200-800元不等,如果追求更高即時互動性,可以使用高速紅外相機。),
B 紅外濾光片(過濾可見光,圖為光譜範圍)
C 高流明的投影機,(如果你沒有投影機的話,也可以用你的LCD顯示器代替,就可以跟你的手互動了。)
D 電腦一台(強勁的CPU是關鍵嘍,如果你需要顯示3d圖形,高效的顯卡也不能缺少。)
E 視頻採集卡一個(負責從攝像機的類比訊號轉到電腦的數字訊號)
F 視頻連接線等等
軟體部分有
A 視頻擷取 directshow 或者vfw 或者採集卡的開發包
B 視頻分析 (直接用bmp也可以, opencv更好了)
C 介面顯示 (directx 3d 或者opengl 或者 flash)
D 其他輔助庫 比如物理引擎ODE,載入3D模型庫(lib3ds)等等