Items with no label
3338 ディスカッション

MapColorToDepth() is always failure

xzhou15
ビギナー
2,079件の閲覧回数

I use c++ ,when I use the MapColorToDepth(),always failure

this is the definition:

https://software.intel.com/sites/landingpage/realsense/camera-sdk/v1.1/documentation/html/pxcstatus.html pxcStatus MapColorToDepth(https://software.intel.com/sites/landingpage/realsense/camera-sdk/v1.1/documentation/html/pxcimage.html PXCImage *depth, pxcI32 npoints, https://software.intel.com/sites/landingpage/realsense/camera-sdk/v1.1/documentation/html/pxcpointf32.html PXCPointF32 *pos_ij, https://software.intel.com/sites/landingpage/realsense/camera-sdk/v1.1/documentation/html/pxcpointf32.html PXCPointF32 *pos_uv);

I find when just npoints=0,the pxcStatus is STATUS_NO_ERROR。when the npoints=ijmap.size(),it's error

0 件の賞賛
4 返答(返信)
MartyG
名誉コントリビューター III
778件の閲覧回数

I am not a RealSense stream programming expert, so I apologize if my answer is not helpful. I spent a while carefully checking through your script and comparing sections of it to scripts on the internet.

I could find no examples where ijmap is used with the push_back instruction. Are you sure that it should not be iMap? I.e

iMap.push_back(ppoint);

xzhou15
ビギナー
778件の閲覧回数

Thank you,I use c++,ijmap is a vector,I used a similar function such as pxcStatus PXCAPI ProjectDepthToCamera(pxcI32 npoints, PXCPoint3DF32 *pos_uvz, PXCPoint3DF32 *pos3d);It's successful。

MartyG
名誉コントリビューター III
778件の閲覧回数

Ok, sorry. Like I said, stream programming is not my expert area. I wanted to try to help though.

So you have got your program working successfully now?

jb455
高評価コントリビューター II
778件の閲覧回数

Should your inputs be arrays instead of vectors maybe? I haven't done much with c++ so don't know if they're equivalent but it may be worth a try! Or does your working ProjectDepthToCamera call use vectors successfully? The only other thing I can think of is whether you've initialised your projection instance? (ie, you've called Device.CreateProjection())

Edit:

Actually, it looks like you're giving the method a single PXCPoint by using ijmap[0] instead of ijmap - in C# at least (may be different with C++) if you want to project a single point you need to give it an array with a single item in, not the point itself. Is that the issue?

返信