支援 64 位元 Windows 的 OpenNI 1.1 版!

OpenNI 推出 1.1 版了!這一次的改版在 Heresy 來看,最重要的就是他終於支援 64 位元 Windows 程式的開發了!

OpenNI 目前是同時放出了 1.1.0.38 的 stable 版、以及 1.1.0.39 的 unstable 版;而 NITE 的部分,也同步地更新到 1.3.1.3 / 1.3.1.4 版。有興趣的人,可以到 OpenNI 的官方下載頁面下載(連結)。

而根據部落格上的說明(《New OpenNI/NITE/PrimeSense Sensor version! 》),其主要更新內容如下:

  • 支援 64 位元 Windows
  • 自動偵測感應器的能力(capabilities,例如解析度、壓縮等等),可以不用再用 XML 擋去寫死這些數值
  • 改善 .Net Wrapper
  • Windows 上的安裝程式由 NSIS 換成 MSI/WIX
  • 將安裝程式分為開發版(development)和發布版(redistribution),後者只包含程式執行時所需要的 dll 檔
  • 更完善地支援多感應器(可以參考 NiViewer)
  • 支援華碩的 WAVI / Xtion(介紹
  • 支援由檔案讀取、儲存 NITE 骨架校正的資料
  • 改善 NITE 的演算法
  • 加入全新的 Unity wrapper,目前是 NITE 的一部分
  • 影像和聲音在 DirectShow 上初步的介面
  • 修正許多錯誤,並加強效能

完整的更新則可以參考 GitHub 上的 Changes 這份文件(連結)。

而如果是使用 Microsoft Kinect 來進行開發的話,也請注意,那就是 Kinect 還是沒辦法使用 PrimeSense 官方的驅動程式,而是要使用修改過的版本才可以。有需要的人,請到 GitHub 下載 AVIN 所修改、編譯的 SensorKinect,其網址為:https://github.com/avin2/SensorKinect;目前最新版為對應官方驅動程式 5.0.1.32 版的 v0.5,請搭配 OpenNI 1.1.0.39 使用。

整個需要的檔案下載:

而安裝的教學,在這邊不重複講了,請參考《在 WIndows 上安裝 Kinect(含 MMD 使用 Kinect 簡易教學)》和《OpneNI Kinect unstable 版安裝更新(2011/01)》,差別只是在於要把 OpenNI、NITE、SensorKinect 都換成新版而已。至於要安裝 32 位元版還是 64 位元版,就看個人需求了∼

17 thoughts on “支援 64 位元 Windows 的 OpenNI 1.1 版!”

  1. 尊敬的heresy大大,一直關注您的blog,受益匪淺,通過您詳盡的講解使我對kinect有了瞭解,并喜愛上了她。這邊我有個很低級的問題,煩請您指點: 1.我從OpenNI官網上下載的新版OpenNI是個.zip文檔,無法安裝,怎麼解決?是直接解壓到「OpenNI」嗎? 2.Matlab怎麼與OpenNI使用。不勝感激,有勞大大了:D

  2. 1. 你是不是下載到原始碼了?請直接下載編譯好的安裝檔:http://www.openni.org/downloadfiles/opennimodules2. 抱歉,Heresy 沒有研究這部分

  3. 非常感謝heresy大大耐心的解答,感謝!永遠支持您!:D

  4. heresy:想請問一下,我照著流程安裝完unstable 版,但執行範例時(NiViewer.exe),會出現錯誤。無法啟動程式,因為您的電腦遺失OpenNI.dll,請嘗試重新安裝已修正這個問題。我安裝了 SensorKinect v0.5(SensorKinect-Win-OpenSource32-5.0.1.msi),不過我是安裝 OpenNI 1.1.0.41(OpenNI-Win32-1.1.0.41-Dev.msi) ,不是 OpenNI 1.1.0.39,我找不到 OpenNI 1.1.0.39了。請問是不是我哪個步驟用錯了? 還是忽略了什麼了…麻煩你了,謝謝。

  5. to Jim您好。安裝完成之後,可能需要重開機才能使用。另外,也有可能是安裝過程有問題造成的,建議你把它移除後,再重新安裝試試看。如果還是不行的,或許就要試試看把執行檔複製到 dll 所在目錄(C:Program FilesOpenNIBin),或是把這個目錄手動加到作業系統的環境變數理了。

  6. heresy大大 : 能加个qq或留个号码么我的qq527814384,我有个错误 都研究半个月了 都没弄好,急死个人(错误:程序的入口点 xnProductionNodeRelease不能设在动态链接 库OpenNI.dll )

  7. heresy大大: 我得到以下错误:程序的入口点xnProductionNodeRelease不能设在动态链接库OpenNI.dll其次是:程序的入口点 xnUSBEnumerateDevices无法设在动态链接库OpenNI.dll

  8. to maya 抱歉,Heresy 沒有使用 QQ。基本上,你的問題應該比較像是安章的城市間版本不相容。建議請安裝最新的 unstable 版 OpenNI、NITE 以及 SensorKinect 後再試試看。

  9. heresy老大:我的机器32位win7,famework4,vs2010我装的版本:1.OpenNI-Bin-Win32-v1.0.0.252.SensorKinect-Win32-5.0.0 23.nite-bin-win32-v1.3.0.18 34.OpenNI-Win32-1.3.2.3-Dev5.NITE-Win64-1.4.1.2-Dev而且也搞了很多其他版本,装了N次了,MMD可以顺利的玩呢,但是跟maya软件的链接一直就报错呢,帮帮忙 帮我看看呢

  10. to maya你的電腦裡似乎有不同版本的 OpenNI 和 NITE?建議把舊版的移除掉,不然有可能會有衝突。另外,在 SensorKinec 的官方已也有裂,要搭配 OpenNI 1.3.2.3,你必須要把你的 SensorKinec 驅動程式升級到 v0.7 (5.0.3.34)旖旎現在的配置來看,很有可能你都一直還在用 1.0 版的 OpenNI 模組。

  11. 請問一下NITE的連結也是連到OpenNI,是兩者合一了嗎?

  12. 無法找到程序輸入點 xnRegisterToCalibrationComplete(在動態連結程式庫OpenNI.dll)
    重灌很多次OPENNI軟體還是一樣出現這樣的錯誤
    請問能怎解決此問題?

  13. to fruitcandy20313

    請參考
    http://viml.nchc.org.tw/blog/paper_info.php?CLASS_ID=1&SUB_ID=1&PAPER_ID=346

    這樣的錯誤訊息,一般來說是由於各個模組之間的版本不一致所造成的。由於 OpenNI 的環境,大致上是需要「OpenNI Framework」、「Middleware(NITE)」、「硬體模組」這三種不同的東西,而這三者之間的版本,又有一定程度的相依性,所以如果不小心、沒有安裝對應的版本的話,就可能會出現如同上述、「無法找到程序輸入點」的問題。這種錯誤訊息通常會關連到特定的 DLL 檔,像以這邊 XnDDK64.dll / XnDDK.dll 就是硬體模組的檔案,所以就代表有很大的機會,是因為硬體模組和 OpenNI Framework 不相容所造成的。

  14. 不好意思再次打擾,ASUS Xtion Pro live 到官網下載新的Xtion_Driver_SDK,還是出現[無法找到程序輸入點xnRegisterToCalibrationComplete(在動態連結程式庫OpenNI.dll)],我已經想破頭還解決不了QQ

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *