本文整理汇总了C++中IRGenerator::GetMetaData方法的典型用法代码示例。如果您正苦于以下问题:C++ IRGenerator::GetMetaData方法的具体用法?C++ IRGenerator::GetMetaData怎么用?C++ IRGenerator::GetMetaData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IRGenerator
的用法示例。
在下文中一共展示了IRGenerator::GetMetaData方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: prepare
XnStatus prepare(char useScene, char useDepth, char useImage, char useIr, char useHistogram)
{
//TODO handle possible failures! Gotcha!
if (useDepth)
{
mDepthGen.GetMetaData(depthMD);
nXRes = depthMD.XRes();
nYRes = depthMD.YRes();
pDepth = depthMD.Data();
if (useHistogram)
{
calcHist();
// rewind the pointer
pDepth = depthMD.Data();
}
}
if (useScene)
{
mUserGen.GetUserPixels(0, sceneMD);
nXRes = sceneMD.XRes();
nYRes = sceneMD.YRes();
pLabels = sceneMD.Data();
}
if (useImage)
{
mImageGen.GetMetaData(imageMD);
nXRes = imageMD.XRes();
nYRes = imageMD.YRes();
pRGB = imageMD.RGB24Data();
// HISTOGRAM?????
}
if (useIr)
{
mIrGen.GetMetaData(irMD);
nXRes = irMD.XRes();
nYRes = irMD.YRes();
pIR = irMD.Data();
// HISTOGRAM????
}
}
示例2: readFrame
void readFrame()
{
if (!g_Depth.IsValid() && !g_Image.IsValid() && !g_IR.IsValid() && !g_Audio.IsValid()) // @@@dded
return;
XnStatus rc = XN_STATUS_OK;
if (g_pPrimary != NULL)
{
rc = g_Context.WaitOneUpdateAll(*g_pPrimary);
}
else
{
rc = g_Context.WaitAnyUpdateAll();
}
if (rc != XN_STATUS_OK)
{
printf("Error: %s\n", xnGetStatusString(rc));
}
if (g_Depth.IsValid())
{
g_Depth.GetMetaData(g_DepthMD);
}
if (g_Image.IsValid())
{
g_Image.GetMetaData(g_ImageMD);
}
if (g_IR.IsValid())
{
g_IR.GetMetaData(g_irMD);
}
if (g_Audio.IsValid())
{
g_Audio.GetMetaData(g_AudioMD);
}
}
示例3: Context
/*
* Class: org_OpenNI_Samples_Assistant_NativeMethods
* Method: initFromContext
* Signature: (JZZ)I
*/
JNIEXPORT jint JNICALL
Java_org_OpenNI_Samples_Assistant_NativeMethods_initFromContext
(JNIEnv *env, jclass cls, jlong pContext, jboolean _hasUserGen, jboolean _hasDepthGen, jboolean _hasImageGen, jboolean _hasIrGen)
{
LOGD("init_start");
hasUserGen = _hasUserGen;
hasDepthGen = _hasDepthGen;
hasImageGen = _hasImageGen;
hasIrGen = _hasIrGen;
mContext = new Context((XnContext*) pContext);
if (!(hasUserGen || hasDepthGen || hasImageGen || hasIrGen))
{
LOGD(" All booleans are false");
return XN_STATUS_BAD_PARAM;
}
int rc;
if (hasUserGen)
{
rc = mContext->FindExistingNode(XN_NODE_TYPE_USER, mUserGen);
if (rc != XN_STATUS_OK)
{
//TODO log&retval
LOGD("No user node exists!");
return 1;
}
mUserGen.GetUserPixels(0, sceneMD);
}
if (hasDepthGen)
{
rc = mContext->FindExistingNode(XN_NODE_TYPE_DEPTH, mDepthGen);
if (rc != XN_STATUS_OK)
{
//TODO log&retval
LOGD("No depth node exists! Check your XML.");
return 1;
}
mDepthGen.GetMetaData(depthMD);
}
if(hasImageGen)
{
rc = mContext->FindExistingNode(XN_NODE_TYPE_IMAGE,mImageGen);
if(rc != XN_STATUS_OK)
{
LOGD("No image node exists! Check your XML.");
return 1;
}
mImageGen.GetMetaData(imageMD);
}
if(hasIrGen)
{
rc = mContext->FindExistingNode(XN_NODE_TYPE_IR,mIrGen);
if(rc != XN_STATUS_OK)
{
LOGD("No IR node exists! Check your XML");
return 1;
}
LOGD("Ir Node created");
mIrGen.GetMetaData(irMD);
}
initGraphics();
LOGD("init_end");
return XN_STATUS_OK;
}
示例4: mexFunction
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
mxArray *tmpContext;
mxArray *tmpIR, *tmpIRMD;
mxArray *tmpDepth, *tmpDepthMD;
mxArray *context_initialised_array;
mxArray *has_ir_node_array;
mxArray *has_depth_node_array;
Context* context;
IRGenerator* ir;
IRMetaData* irMD;
DepthGenerator* depth;
DepthMetaData* depthMD;
unsigned short* output_ir = 0;
unsigned short* output_depth = 0;
mwSize dims2_ir[2];
mwSize dims2_depth[2];
bool context_initialised = false;
bool has_ir_node = false;
bool has_depth_node = false;
//---------------------------------
// Read input variables
//---------------------------------
// ni_context_obj
tmpContext = mxGetField(prhs[0], 0, "ni_context_obj");
memcpy((void*)&context, mxGetPr(tmpContext), sizeof(Context*));
// ir_obj
tmpIR = mxGetField(prhs[0], 0, "ir_obj");
memcpy((void*)&ir, mxGetPr(tmpIR), sizeof(IRGenerator*));
// irMD_obj
tmpIRMD = mxGetField(prhs[0], 0, "irMD_obj");
memcpy((void*)&irMD, mxGetPr(tmpIRMD), sizeof(IRMetaData*));
// depth_obj
tmpDepth = mxGetField(prhs[0], 0, "depth_obj");
memcpy((void*)&depth, mxGetPr(tmpDepth), sizeof(DepthGenerator*));
// depthMD_obj
tmpDepthMD = mxGetField(prhs[0], 0, "depthMD_obj");
memcpy((void*)&depthMD, mxGetPr(tmpDepthMD), sizeof(DepthMetaData*));
// context_initialised
context_initialised_array = mxGetField(prhs[0], 0, "context_initialised");
context_initialised = mxGetScalar(context_initialised_array);
// has_ir_node
has_ir_node_array = mxGetField(prhs[0], 0, "has_ir_node");
has_ir_node = mxGetScalar(has_ir_node_array);
// has_depth_node
has_depth_node_array = mxGetField(prhs[0], 0, "has_depth_node");
has_depth_node = mxGetScalar(has_depth_node_array);
//-------------------------------
// Create output variables
//-------------------------------
bool initialised = context_initialised;
int ir_width = 640;
int ir_height = 480;
int depth_width = 640;
int depth_height = 480;
if(initialised){
XnStatus rc;
if(has_ir_node){
ir->GetMetaData(*irMD);
ir_width = irMD->XRes();
ir_height = irMD->YRes();
}
if(has_depth_node){
depth->GetMetaData(*depthMD);
depth_width = depthMD->XRes();
depth_height = depthMD->YRes();
}
}
dims2_ir[0] = ir_height;
dims2_ir[1] = ir_width;
plhs[0] = mxCreateNumericArray(2, dims2_ir, mxUINT16_CLASS, mxREAL);
output_ir = (unsigned short*)mxGetPr(plhs[0]);
if(nlhs >= 2){
dims2_depth[0] = depth_height;
dims2_depth[1] = depth_width;
plhs[1] = mxCreateNumericArray(2, dims2_depth, mxUINT16_CLASS, mxREAL);
//.........这里部分代码省略.........