opencv访问元素出错!!!

opencv访问元素出错!!!,第1张

你看出错信息里面的值,row=424,图像时512x424像素,取值应该是0x0~511x423吧!明显越界了。每台仔细看你的程序,但是你的x,y值双层循环部分:

for(int y=0;y<424;y++)

for(int x=0;x<512;x++)

{

p_ir[2]=dbufferMat1at<UINT16>(y,x);

是不是缺了一层括号啊!

for(int y=0;y<424;y++)

{

for(int x=0;x<512;x++)

{

p_ir[2]=dbufferMat1at<UINT16>(y,x);

应该是这样吧!

从kinect里读数据是一帧一帧的,如果只取一个骨骼的数据,excel表格可以是这样:

1

2

3

4

5

帧号|X坐标|Y坐标|Z坐标

1|2356|3172|5265

2|2356|3172|5265

3

4

如果取多个骨骼节点的坐标,excel表格可以是这样:

帧号|骨骼与坐标

1|RightHand{X:1235;Y:3127;Z:5265}LeftHand{}LeftShoulder{}

2|RightHand{X:1235;Y:3127;Z:5265}LeftHand{}LeftShoulder{}

3

Kinect取骨骼的函数我也建议你自己网上找,核心逻辑写在SkeletonFrameReady函数里。

Excel写入程序也可以在网上找到。

在python中numpy是很好用的数据处理包。不了解你说的数据结构但是可以尝试把数据转成numpy的md数组格式。之后可以在数组中进行检查看是不是所有的三通道都相等。如果说这样的话那么理论上三通道和三通道代表的信息都是一样的,直接在里面切片不会影响结果。

以上就是关于opencv访问元素出错!!!全部的内容,包括:opencv访问元素出错!!!、如何利用Kinect获取骨骼节点的三维坐标、数据集是Kinect获取的三通道深度图,怎么变成单通道且无信息损失等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9560369.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存