3D相机(TOF相机)

2017-07-04  本文已影响259人  北风知我意

最近使用3D sensor(TOF相机),记录一下:

最近做的这个项目,本来是打算使用halcon的3D surface 匹配来试试的,但是一点思路都没有,从TOF出来的是3D点云数据,不知道使用halcon读入应该是怎样的一种表现形式,是image?还是model?还是XYZPoints? 问了很多人,网上查资料,苦于这方面的资料太少,最后还是没有得到解答。一个偶然的机会发现在C:\Program Files\MVTec\HALCON-12.0\doc\pdf\solution_guide有文档,那个激动啊,赶快找来看看。但是solution_guide_iii_c_3d_vision.pdf中对双目以及laser都讲了,就是关于TOF的介绍很少,不过看到了这么一段:

就明白了从TOF过来的是image。那怎么才能得到image那?之前2D相机一直用的GenImageInterleaved得到彩色图像,看了下这个算子不能得到TOF的image。继续查资料,就从halcon的图像获取那几个算子里面找,终于功夫不负有心人,使用GenImage3就可以啦。

void NewImage(HObject *newImage)

{

float  X[176*132];

float  Y[176*132];

float  Z[176*132];

int            r,c;

int idx=0;

for (r=0; r<132; r++)

{

for (c=0; c<176; c++)

{

X[r*176+c] = m_coords[idx * 3 + 0];

Y[r*176+c] = m_coords[idx * 3 + 1];

Z[r*176+c] = m_coords[idx * 3 + 2];

idx++;

}

}

GenImage3(newImage,"real",176,132,(Hlong)X,(Hlong)Y,(Hlong)Z);

}

得到了图像就可以处理啦。

上一篇 下一篇

猜你喜欢

热点阅读