把 Kinect 當 WebCAM 來用:Kinect Virtual Camera


不知道有多少有 Microsoft Kinect 的人,有把他接到電腦上來用?目前除了微軟自己有推出官方的「Microsoft Kinect for Windows SDK」、可以在 Windows 上驅動、並使用 Kinect 外,也還有許多更早就出現的第三方方案,可以用來在電腦上使用 Kinect;像 Heresy 現在就是使用 OpenNI 加上 SensorKinect 來在 Windows 上使用。

但是,目前這些在 Windows 上使用 Kinect 的方案,由於使用的都是特殊架構的驅動程式,所以似乎都沒有辦法直接把 Kinect 拿來當作 WebCAM 來使用?這點在某些時候,似乎還是有點不方便…

不過,這點對於一些程式強者來說,是很好克服的!像以 OpenNI 的平台來說,已經有人寫出 OpenSource 的「Kinect Virtual Camera」,可以透過 Windows 上的 DirectShow Filter 的介面,把 Kinect 封包、當作 Windows 的標準 Webcam 來用了!

Kinect Virtual Camera 的主要網站,應該是 KinectDevs 這個論壇的「Kinect Virtual Camera (Kinect Webcam)」版;而目前最新的版本是 0.8 版,可以到他的檔案下載頁面下載安裝程式,目前最新版的檔案應該是「Kinect-Virtual-Camera-Win32-v0.8.exe」。

安裝

由於他是使用 OpenNI 這個平台,所以請先把 Windows 上的 OpenNI 環境安裝好;這部分的步驟,雖然不是最新的,不過如果完全沒概念,建議還是參考一下之前的《在 WIndows 上安裝 Kinect(含 MMD 使用 Kinect 簡易教學)》這篇文章。

而 OpenNI 的環境好了後,接下來就是執行下載下來的安裝程式、完成安裝了。

不過,他的安裝程式似乎沒有做得很好?以 Heresy 使用的 Windows 7 來說,由於預設的安裝路徑是在「C:\Program Files\Kinect Virtual Camera」,再加上他還會去使用 regsvr32.exe 來登錄相關的模組,所以是需要管理者權限才能完成安裝的;但是他的安裝程式並沒有主動要求管理者權限,所以直接按「下一步」的話,是會出現錯誤訊息而無法安裝的。

所以,如果要完成安裝的話,必須要自行使用系統管理者權限來執行安裝程式;方法很簡單,就是在安裝檔上按右鍵,選擇「以系統管理員身分執行」就可以了。

 

使用

如果正確安裝完成的話,之後就可以在各種透過 DirectShow Filter 存取視訊裝置的程式裡(Windows Live Messenger / MSN 和 Skype 都是),找到新加入的 webcam 了~

他基本上提供了三個名稱以「Kinect Virtual Camera」開頭的虛擬 webcam,分別是:

  • Image(彩色影像)
  • Depth(深度影像、以灰階顯示)
  • SmartCam(智慧型)

像右邊的截圖,就是 Heresy 的 Windows Live Messenger 抓到的攝影機列表(Kinect 以外其他的,都是其他的虛擬攝影機)。如果剛裝完後發現沒有看到的話,建議先把程式重新開啟、或者重新啟動 Windows 再試試看。

Image 和 Depth 這者基本上是 Kinect 本來就會提供的影像資料,那第三個「SmartCam」是幹嘛的呢?

SmartCam 基本上應該是使用了 OpenNI 的 user generator 來找到畫面中的人,並把彩色影像的畫面做適當的裁切、縮放,讓輸出的畫面會去追著拍攝到的畫面跑(Kinect 本身是不會動的),把人盡量放到中心~這應該也算是一個相當實用的功能了!

下面的截圖,就是同時顯示三種虛擬攝影機的畫面的結果;左上角是 Depth,右上角是 Image,下方則是 SmartCam。可以發現,SmartCam 的畫面範圍和另外兩者是有差異的!而這就是他自動追蹤人的效果了。

或者,YouTube 上,也有官方的 SmartCam 示意影片可以參考(連結)。


這篇簡單的介紹就到這了~基本上,透過這個 Kinect Virtual Camera,就可以把 Kinect 當作智慧型的 webcam 來用了!對於有 Kinect 但是沒有 webcam 的人來說,還算是滿方便的啦~而且,大概也沒多少人可以用深度畫面來當作 webcam 的畫面吧~ :p

不過,比較可惜的,還是「聲音」和「馬達」兩點。

雖然 Kinect 在硬體上是搭配了四個單元的麥克風陣列,理論上應該會有不錯的收音效果;但是由於目前 SensorKinect 並沒有提供聲音方面的驅動程式,所以在使用 OpenNI 環境的情況下,還是沒辦法使用 Kinect 來收音的… orz

同樣的情況,也發生在 Kinect 的馬達上。他雖然內建了可以做一定程度旋轉的馬達,但是 OpenNI 並沒有定義相關的介面、SensorKinect 也沒有提供相關的控制,所以現階段也還沒有辦法在 OpenNI 的平台上、控制 Kinect 去做視角的調整…如果可以的話,SmartCam 的功能應該會更強大吧~


最後,由於這個程式是 OpenSource 的,如果想要研究他的原始碼的話,也可以下載來看看(下載連結)。不過要注意的是,要編譯這個程式,除了需要 OpenNI 和 NITE 的 SDK 之外,也需要 Windows SDK。


OpenNI / Kinect 相關文章目錄

關於 Heresy
https://kheresy.wordpress.com

10 Responses to 把 Kinect 當 WebCAM 來用:Kinect Virtual Camera

  1. 通告: 讓 kinect for windows 當 webcam 用 | 羊小咩-喇低賽

  2. Soroush Falahati 說道:

    As developer of KVC, I recommend using OpenNI 2 Virtual Webcam which is available here: http://falahati.net/my-projects/95-openni-2-virtual-webcam-v0-9-directshow-filter-for-openni
    But there is no tracking feature (SmartCam) yet.

    喜歡

    • Heresy 說道:

      Thxanks for provide the information.
      I will test and introduction your new application later.

      喜歡

  3. Alan 說道:

    請教一下ASUS的xtion pro live也可以用來當視訊鏡頭嗎?

    喜歡

    • Heresy 說道:

      他是使用 OpenNI 來開發的,所以理論上只要是 OpenNI 相容硬體就可以。
      比較要擔心的,是他太久沒更新了,不確定是否能對應新版 OpenNI。

      喜歡

  4. 通告: 一些有趣的 Kinect / OpenNI 應用 « Heresy's Space

  5. 林世鑫 說道:

    這東西感覺不好用… 不知道是我設定錯誤還是~?
    我開msn在設定就會掛掉了 有影像 出現一陣子掛掉 只有深度顯示器沒事= =

    喜歡

    • Heresy 說道:

      應該算是相容性和穩定性的問題了~
      Heresy 這邊 Image 和 Depth 基本上沒什麼問題,但是 SmartCam 的確有些問題。
      可是用其他程式看的時候,似乎又都正常…

      喜歡

  6. Dimo 說道:

    想請問之前介紹的FAAST,需要安裝的NITE連結一直無法下載,不知道有沒有什麼方案,可以運作FAAST呢?

    謝謝!

    喜歡

    • Heresy 說道:

      請直接到 OpenNI 官網下載最新版的 OpenNI 和 NITE
      http://openni.org/downloadfiles/opennimodules

      另外,建議請直接回覆在相關文章的回應內。

      喜歡

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

你正使用 WordPress.com 帳號留言。 登出 / 變更 )

Twitter picture

你正使用 Twitter 帳號留言。 登出 / 變更 )

Facebook照片

你正使用 Facebook 帳號留言。 登出 / 變更 )

Google+ photo

你正使用 Google+ 帳號留言。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: