版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、/* 本文檔主要介紹利用 openni、opencv、point cloud library進(jìn)行基于 kinect 的爭(zhēng)辯開(kāi)發(fā)時(shí), “裝驅(qū)動(dòng),配置開(kāi)發(fā)環(huán)境”的工作。操作系統(tǒng):win7 or win xp32bit預(yù)先要安裝的軟件:cmake, vs2010本文檔將要安裝的開(kāi)發(fā)工具:openni, opencv, pcl 及 kinect 驅(qū)動(dòng)(sensorkinect)*/安裝 openni 及相關(guān)驅(qū)動(dòng)1. 下載:openni binariesopenni compliant middleware binaries(即 primesense nite ,假如你的工作和人體骨骼分析無(wú)關(guān)就不需要安
2、裝這個(gè),比如你拿kinect 進(jìn)行環(huán)境建模就可以擔(dān)憂(yōu)裝此中間件)avin2/sensorkinect2. 確保你電腦里以前全部關(guān)于kinect 的驅(qū)動(dòng)已經(jīng)卸載潔凈(包括 ms 的 kinect sdk),請(qǐng)確保 kinect 現(xiàn)在沒(méi)有插入電腦。3. 安裝 openni-win32-xxx-dev.ms(i 即你下載下來(lái)的 openni binaries,xxx 表示版本號(hào))到默認(rèn)名目;安裝 nite-win32-xxx-dev.m(si 即你下載下來(lái)的opennicompliant middleware binaries)到默認(rèn)名目;將 avin2-sensorkinect-xxx.zip 解
3、壓,在其 bin 文件夾中找到適合pinxin long prmi lab, uestcstay hungry, stay foolish你操作系統(tǒng)的執(zhí)行文件,如你是 win 32 就安裝 sensorkinect091-bin-win32-vxxx.msi 到默認(rèn)名目。4. 把 kinect 的插入電腦,然后去電腦的“設(shè)備治理器”中可以看到如下標(biāo)志,并且 kinect 的led 燈不停閃耀。5. 重啟電腦6. 驗(yàn)證 openni 和 nite:驗(yàn)證 openni在 openni目 錄 下 : c:programfilesopennisamplesbinrelease , 找 到nisimpl
4、eviewer 應(yīng)用程序,然后執(zhí)行。這是一個(gè)簡(jiǎn)潔的顯示彩色圖和深度圖的例子,假如運(yùn)行正常,那么說(shuō)明 openni 安裝沒(méi)有問(wèn)題。驗(yàn)證 nite在 nite 名目下: c:program filesprimesensenitesamplesbinrelease,找到sample-stickfigure 應(yīng)用程序,然后執(zhí)行。這是一個(gè)可以識(shí)別骨骼的例子,你需要做出“投降姿勢(shì)”才可以識(shí)別骨骼。假如運(yùn)行正常,那么說(shuō)明nite 安裝沒(méi)有問(wèn)題。ps: 假如你同時(shí)安裝了微軟的 kinect 驅(qū)動(dòng),又同時(shí)安裝了openni 的驅(qū)動(dòng),那么系統(tǒng)會(huì)優(yōu)先選擇微軟的驅(qū)動(dòng)。要切換到 openni 的驅(qū)動(dòng),可以從硬件治理器里
5、操作。安裝 opencv2.將 opencv-2.3.1-win-superpack.exe解 壓 并 放 到 某 個(gè) 目 錄 下 , 例 如 d:programfilesopencv2.3.1 (無(wú)需運(yùn)行 setup.exe,解壓即可,你運(yùn)行也是執(zhí)行解壓操作)1. 下載 opencv 2.3.1 for windows,下載 cmake 并安裝(cmake 可以擔(dān)憂(yōu)裝在默認(rèn)路徑)。ps:解壓到當(dāng)前文件夾后的文件都放在叫 “opencv”的文件夾里面的,最好將里面的東西都拷出來(lái)放在 d:program filesopencv2.3.1 名目下(即 opencv2.3.1 文件夾下),然后刪掉
6、opencv這個(gè)空文件夾,這樣你就很清楚自己現(xiàn)在使用的是 opencv2.3.1。最終如下圖所示:3. 用記事本或者寫(xiě)字板打開(kāi)上圖中號(hào)紅色框框所標(biāo)示的opencvfindopenni.cmake文件, 利用 ctrl+f 查找“win32”,看到“if(win32)”的下一行將find_file(openni_prime_sensor_module “xncore.dll“ paths “c:/program files/prime sense/sensor/bin“改為 find_file(openni_prime_sensor_module “xncore.dll“ paths “c:/p
7、rogram files/primesence/sensorkinect/bin“(留意是“/“,不是“),這一步格外重要, 是確保在 cmake 導(dǎo)出 opencv 項(xiàng)目文件(第四步)時(shí),選擇“支持 openni”后能導(dǎo)出成功的關(guān)鍵,也是打算你能否利用 opencv 里相關(guān)函數(shù)對(duì) kinect 采集的數(shù)據(jù)進(jìn)行相關(guān)處理關(guān)鍵一步,也是 opencv 關(guān)于 kienct 的官方網(wǎng)站存在錯(cuò)誤的地方(可能是驅(qū)動(dòng)版本問(wèn)題造成的)。4. 用 cmake 導(dǎo)出 opencv 的 vs2010 項(xiàng)目文件(opencv.sln):運(yùn)行 cmake-gui,設(shè)置 where is the source code
8、路徑為 opencv 安裝路徑(本文檔假定安裝位置為: d:program filesopencv2.3.1),并創(chuàng)建子名目d:program filesopencv2.3.1buildxxx(即在此名目下新建一個(gè)名為 xxx 的文件夾,如 d:program filesopencv2.3.1buildpxlong),并將 cmake的“where to build the binaries“ 設(shè)置為這個(gè)名目。然后點(diǎn)擊 configure,在彈出的對(duì)話(huà)框內(nèi)選擇 visual studio 10(即 vs2010)。如它們的安裝位置一樣已經(jīng)正確配置了(若不正確,請(qǐng)按上圖所示手動(dòng)配置)。你還可依據(jù)
9、你的系統(tǒng)及具體需求修改其他選項(xiàng),完成后點(diǎn)擊”generate”。5. 完成上一步驟后,將在 d:program filesopencv2.3.1buildxxx 名目下生成 opencv.sln 的然后勾上下圖中所示的 with_openni,再點(diǎn)擊”configure”,你會(huì)看到下圖中所示的openni_include_dir,openni_lib_dir,openi_prime_sensor_module_bin_dirmicrosoft visual studiosolution 文件,用 vs2010 將其打開(kāi)。在 debug 下,選擇解決方案資源治理器(solution explor
10、er)里的解決方案opencv(solution opencv),點(diǎn)右鍵,選擇重新生成解決方案(rebuild solution),這個(gè)時(shí)間有點(diǎn)長(zhǎng)你可以去泡杯茶休息一下;如編譯無(wú)錯(cuò)誤,再選擇 install 項(xiàng)目,右鍵,選擇生成(build)(這個(gè)很快)。在 release 下, 選擇解決方案資源治理器(solution explorer) 里的解決方案opencv (solution opencv),點(diǎn)右鍵,選擇重新生成解決方案(rebuild solution);如編譯無(wú)錯(cuò)誤,再選擇 install 項(xiàng)目,右鍵,選擇生成(build)。全部運(yùn)行完畢后,針對(duì)你的系統(tǒng)的 opencv 庫(kù)就生成
11、了。6. 配置 vs2010:任憑打開(kāi)一個(gè)可用的 vs2010 的.sln 文件(項(xiàng)目文件),或者自己新建一個(gè)helloworld.sln 文件。在 vs2010 的左下角,你可以看下圖所示的內(nèi)容,選擇“屬性治理器”(假如木有屬性治理器的話(huà),請(qǐng)點(diǎn)擊視圖>屬性治理器(在倒數(shù)其次個(gè)):將你的項(xiàng)目開(kāi)放,如下圖所示,雙擊microsoft.cpp.win32.user:完成上一步后,再選擇”vc+名目”,你會(huì)看到如下所示的對(duì)話(huà)框:在包含名目中選擇編輯,再添加 d:program filesopencv2.3.1buildxxxinstallinclude 和c:program filesopen
12、niinclude。具體操作如下圖:配置包含名目(include 路徑):即告知vs2010 去哪里查找opencv 和openni 的頭文件,配置庫(kù)名目(lib 路徑):即告知 vs2010 去哪里查找 opencv 和 openni 的庫(kù)文件,依據(jù)配置包含名目的方法同樣地為庫(kù)名目添加 d:program filesopencv2.3.1buildmyinstalllib 和c:program filesopennilib:ok,關(guān)于 vs2010 的配置就完成了!7. 設(shè)置環(huán)境變量:剛才設(shè)置的是動(dòng)態(tài)庫(kù),因此還需要將 opencv 的 dll 文件所在的名目加入 path環(huán)境變量。右鍵計(jì)算機(jī)
13、(這是 win7 中的叫法,即 xp 中的我的電腦)選擇“屬性”,在彈開(kāi)的系統(tǒng)對(duì)話(huà)框中選擇“高級(jí)系統(tǒng)設(shè)置”:然后在彈出的系統(tǒng)屬性對(duì)話(huà)框中選擇 環(huán)境變量(在對(duì)話(huà)框的底部),再新建一個(gè)變量名為“path”的變量,在變量值中依次輸入(各路徑之間用;隔開(kāi)): d:program filesopencv2.3.1buildxxxinstallbin; d:program filesopencv2.3.1buildcommontbbia32vc10; c:program filesopennibin9. 打開(kāi) vs2010,新建一個(gè)項(xiàng)目名為”kinect_maps”的 win32 把握臺(tái)應(yīng)用程序,將 d:
14、program filesopencv2.3.1samplescppkinect_maps.cpp 作為該項(xiàng)目的 c+源文件(kinect_maps.cpp)。你既可以直接將 d:program filesopencv2.3.1samplescppkinect_maps.cpp 中代碼ctrl+c&ctrl+v 到剛才新建好的項(xiàng)目中的 kinect_maps.cpp 文件中去,也可以將該文件直接拷貝8. 重啟電腦吧到你項(xiàng)目源文件所在路徑 (c:userspxlongdesktopopencv_test kinect_mapskinect_maps, 藍(lán)色表示的路徑是你的項(xiàng)目所在路徑),
15、取代你新建項(xiàng)目時(shí)建立的 kinect_maps.cpp 文件。然后在解決方案資源治理器中,選擇 kinect_maps 項(xiàng)目,點(diǎn)擊右鍵,選擇屬性,選擇配置屬性>鏈接器>輸入,先選擇活動(dòng)(debug)再選擇 release,分別在其附加依靠項(xiàng)中,添加opencv_calib3d231d.libopencv_contrib231d.libopencv_core231d.libopencv_features2d231d.libopencv_flann231d.libopencv_gpu231d.libopencv_highgui231d.libopencv_imgproc231d.lib
16、opencv_legacy231d.libopencv_ml231d.libopencv_objdetect231d.libopencv_ts231d.libopencv_video231d.libopenni.libps: 這些依靠項(xiàng)可依據(jù)實(shí)際狀況刪減,假如消滅編譯時(shí)消滅“1>link : fatal error lnk1104:無(wú)法打開(kāi)文件“.lib”的錯(cuò)誤,請(qǐng)?jiān)谔砑印案郊右揽宽?xiàng)”時(shí),將其一條一條分別加入,一條一行(一個(gè)回車(chē)),如上所示。10. 連接好 kinect,然后編譯執(zhí)行。ok,你應(yīng)當(dāng)會(huì)看到像這樣的三個(gè)對(duì)話(huà)框:安裝 pcl1. 下載 pcl,安裝相關(guān)說(shuō)明信息見(jiàn)此。2. 安裝,
17、可以擔(dān)憂(yōu)裝在默認(rèn)路徑(如裝在d:program filespcl 1.5.1)。由于pcl 的 all-in-one installer 中包含了 kinect 所需的 openni 驅(qū)動(dòng),但是版本比較老(至少比前面我們安裝的要老),所以在安裝過(guò)程中它會(huì)彈出對(duì)話(huà)框說(shuō)你已經(jīng)安裝了 later 版本的 openni 和 sensorkinect,不需要再安裝了,你選 ok>finish 就行了。3. 安裝完成后,相關(guān)的執(zhí)行文件在:pcl 1.5.1bin 中,這其中帶有 openni 的基本上是插上 kinect后就能執(zhí)行的( 某些可能需要使用 windows 命令行來(lái)設(shè)定參數(shù) )。 源代碼
18、在 pcl 1.5.1sharedocpcl-1.5tutorialssources 中,需要配置 cmakelists.txt 再用 cmake 來(lái)生成vs2010 項(xiàng)目,最終再編譯執(zhí)行。4. 編譯方法:ubuntu:sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl假如你先裝了ros,ros 里面有裝好的pcl,在/opt/ros/electric/stacks/perception_pcl,但是你會(huì)發(fā)覺(jué)它的版本很老了(pcl-1.1),然后你就想用新版本的撒(功能多且強(qiáng)些),然后你就可以這么安裝最新版本的pc
19、l,3 條命令:sudo apt-get updatesudo apt-get install libpcl-all嗯,裝好之后,覺(jué)得可以直接用了,就接受以下幾步編譯和運(yùn)行你的project:1. 你的代碼都保存在一個(gè).cpp 文件中, 然后這個(gè).cpp 文件所在的路徑記為: path_of_your_project。在 ubuntu 中,pcl 的 bin 文件保存在/usr/bin 中,pcl 的 source code保存在/usr/share/doc/libpcl-1.5-doc/doc/pcl-1.5/tutorials/sources2. 在 path_of_your_projec
20、t 中( 就是說(shuō)和.cpp 文件在同一路徑), 再新建一個(gè)名叫cmakelists.txt 的文件,然后找到安裝 pcl 時(shí)供應(yīng)的例程源代碼,打開(kāi)其中任意一個(gè)例子, 將它的 cmakelists.txt 文件“ctrl+c”,再“ctrl+v”到 path_of_your_project,然后再依據(jù)你的項(xiàng)目做具體修改。$ cd /path_of_your_project(就是利用 cd 命令進(jìn)入你的程序所在的地方)$ sudomkdir build$ cd build$ sudocmake .(別遺忘c(diǎn)make 后面有一個(gè)”空格”和兩個(gè)”.”)$ sudo make3. compiling a
21、nd running the project$ sudo ./executable_file4. 經(jīng)過(guò)我的實(shí)際運(yùn)行之后發(fā)覺(jué),裝完之后也不肯定能直接用,有可能會(huì)消滅如下錯(cuò)誤:/usr/lib/libpcl_io.so.1.1.1: undefined reference to xncontextregisterforshutdown”/usr/lib/libpcl_io.so.1.1.1: undefined reference to xncontextrelease”/usr/lib/libpcl_io.so.1.1.1: undefined reference to xnnodeinfoge
22、trefhandle”/usr/lib/libpcl_io.so.1.1.1: undefined reference to xncontextunregisterfromshutdown”/usr/lib/libpcl_io.so.1.1.1: undefined reference to xngetrefcontextfromnodehandle”/usr/lib/libpcl_io.so.1.1.1: undefined reference to xnforceshutdown”/usr/lib/libpcl_io.so.1.1.1: undefined reference to xnc
23、ontextaddref”/usr/lib/libpcl_io.so.1.1.1: undefined reference to xnfindexistingrefnodebytype”collect2: ld returned 1 exit statusmake2: * test error 1make1: * cmakefiles/test.dir/all error 2make: * all error 2sudo apt-get install openni-devps-engine (安裝openni-dev 和 ps-engine)sudo apt-get install upda
24、te錯(cuò)誤會(huì)決方法:還得裝下面這兩個(gè)然后,再執(zhí)行 3 中的命令即可順當(dāng)運(yùn)行。window(vs2010):你的代碼只需要是一個(gè).cpp 文件(固然得包含 main 函數(shù))就行,然后這個(gè).cpp 文件所在的路徑記為:path_of_your_project。1. 在 path_of_your_project 中( 就是說(shuō)和.cpp 文件在同一路徑), 再新建一個(gè)名叫cmakelists.txt 的文件,然后找到安裝 pcl 時(shí)供應(yīng)的例程源代碼,一般在這個(gè)路徑下: d:program filespcl 1.5.1sharedocpcl-1.5tutorialssources (假如你安裝在 d:pr
25、ogram files 的話(huà))。打開(kāi)其中任意一個(gè)例子,將它的cmakelists.txt 文件“ctrl+c” ,再 “ctrl+v” 到path_of_your_project,然后再依據(jù)你的項(xiàng)目做具體修改。2. 安裝cmake.3. run cmake, 在where is the source code和where to build the binaries中選擇你要編譯的程序(即你的.cpp 和 cmakelists.txt 所在文件夾的路徑),這兩個(gè)要選擇的路徑最好一樣。4. 先按“configure”,再按“generate”。這個(gè)過(guò)程中會(huì)彈出個(gè)對(duì)話(huà)框,讓你選 generator,
26、假如你是 32bit 的就選visual studio 10,假如是 64bit 就選visual studio 10 win64.5. 然后你就可以在你剛才所選的那個(gè)文件夾中找到生成好(添加各種庫(kù)的)的.sln 文件, 打開(kāi)它。下面以openni_capture.sln 為例說(shuō)明一下打開(kāi)sln 文件后你需要做的第一步工作:當(dāng)你打開(kāi)某一個(gè).sln 之后,你可能會(huì) vs2010 的“解決方案治理器”中看到類(lèi)似于下圖的狀況(留意到圖中紅框中的字為加粗過(guò)的):選中“openni_capture”,右鍵它,選擇“設(shè)為啟動(dòng)項(xiàng)目”,之后你就會(huì)看到“openni_capture”變?yōu)榇煮w字呢6. 在 vs2010 的菜單欄,選擇“生成>生成 openni_capture”即可編譯該文件生成可
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年特種油墨項(xiàng)目評(píng)估分析報(bào)告
- 餐廳供消合同
- 計(jì)生用品相關(guān)行業(yè)投資規(guī)劃報(bào)告范本
- 盆底康復(fù)治療的作用
- 防雷電應(yīng)急培訓(xùn)
- 屠宰場(chǎng)400噸廢水處理工程設(shè)計(jì)方案
- 燙傷應(yīng)急處理培訓(xùn)
- 2024年私人房屋買(mǎi)賣(mài)合同樣本(2篇)
- 2021年10月廣西玉林北流市財(cái)政局公開(kāi)招聘編外人員工作人員沖刺題(一)
- 市發(fā)改委競(jìng)賽活動(dòng)的方案(6篇)
- 第1-3章綜合檢測(cè)試卷 2024-2025學(xué)年浙教版數(shù)學(xué)八年級(jí)上冊(cè)
- 軟件供應(yīng)鏈安全風(fēng)險(xiǎn)
- 2024-2030年家教服務(wù)行業(yè)深度分析及發(fā)展趨勢(shì)與投資前景研究報(bào)告
- Unit 10 if 引導(dǎo)的條件狀語(yǔ)從句課件2024-2025學(xué)年人教版英語(yǔ)八年級(jí)上冊(cè)
- 物業(yè)保潔服務(wù)的外包協(xié)議
- 傳染病疫情上報(bào)流程
- 2024年江蘇地區(qū)“三新”供電服務(wù)公司招聘320人(第二批)【重點(diǎn)基礎(chǔ)提升】模擬試題(共500題)附帶答案詳解
- 上海無(wú)障礙設(shè)施設(shè)計(jì)標(biāo)準(zhǔn)
- 大數(shù)據(jù)處理和分析服務(wù)合同
- 生物制劑在腎病綜合征中的應(yīng)用和思考
- 申請(qǐng)工程工期順延的函(聯(lián)系單)
評(píng)論
0/150
提交評(píng)論