W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
通過(guò)VideoCapture類(lèi)支持與OpenNI(Kinect,XtionPRO,...)兼容的深度傳感器。深度圖,BGR圖像和其他一些格式的輸出可以通過(guò)使用熟悉的VideoCapture界面來(lái)檢索。
為了在OpenCV中使用深度傳感器,您應(yīng)該執(zhí)行以下初步步驟:
OpenNI:
Linux & MacOSX:
Libs into: /usr/lib
Includes into: /usr/include/ni
Windows:
Libs into: c:/Program Files/OpenNI/Lib
Includes into: c:/Program Files/OpenNI/Include
PrimeSensor Module:
Linux & MacOSX:
Bins into: /usr/bin
Windows:
Bins into: c:/Program Files/Prime Sense/Sensor/Bin
如果一個(gè)或兩個(gè)產(chǎn)品安裝到其他文件夾,用戶(hù)應(yīng)該更改相應(yīng)的CMake變量OPENNI_LIB_DIR,OPENNI_INCLUDE_DIR或/和OPENNI_PRIME_SENSOR_MODULE_BIN_DIR。
VideoCapture可以檢索以下數(shù)據(jù):
為了從深度傳感器獲取深度圖使用VideoCapture :: operator >>,例如:
VideoCapture capture( CAP_OPENNI );
for(;;)
{
Mat depthMap;
capture >> depthMap;
if( waitKey( 30 ) >= 0 )
break;
}
要獲取幾個(gè)數(shù)據(jù)地圖,請(qǐng)使用VideoCapture :: grab和VideoCapture :: retrieve,例如:
VideoCapture capture(0); // or CAP_OPENNI
for(;;)
{
Mat depthMap;
Mat bgrImage;
capture.grab();
capture.retrieve( depthMap, CAP_OPENNI_DEPTH_MAP );
capture.retrieve( bgrImage, CAP_OPENNI_BGR_IMAGE );
if( waitKey( 30 ) >= 0 )
break;
}
為了設(shè)置和獲取傳感器數(shù)據(jù)生成器的某些屬性,請(qǐng)分別使用VideoCapture :: set和VideoCapture :: get方法,例如:
VideoCapture capture( CAP_OPENNI );
capture.set( CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE, CAP_OPENNI_VGA_30HZ );
cout << "FPS " << capture.get( CAP_OPENNI_IMAGE_GENERATOR+CAP_PROP_FPS ) << endl;
由于支持兩種類(lèi)型的傳感器數(shù)據(jù)生成器(圖像生成器和深度生成器),因此需要使用兩個(gè)標(biāo)志來(lái)設(shè)置/獲取所需生成器的屬性:
一些深度傳感器(例如XtionPRO)沒(méi)有圖像生成器。為了檢查它,您可以獲得CAP_OPENNI_IMAGE_GENERATOR_PRESENT屬性。
bool isImageGeneratorPresent = capture.get( CAP_PROP_OPENNI_IMAGE_GENERATOR_PRESENT ) != 0; // or == 1
指定所需發(fā)電機(jī)類(lèi)型的標(biāo)志必須與特定發(fā)電機(jī)屬性結(jié)合使用。支持通過(guò)OpenNI接口提供的以下相機(jī)屬性:
一些典型的標(biāo)志組合“生成器類(lèi)型+屬性”被定義為單個(gè)標(biāo)志:
有關(guān)更多信息,請(qǐng)參閱opencv / samples / cpp文件夾中openni_capture.cpp的使用示例。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: