您的位置:首页 > 其它

孙其功陪你学之——Kinect三维重建

2013-10-26 20:12 323 查看
在前面的内容中已经写到如何读取.pgm和.ppm文件,来获取Kinect得到的深度数据和彩色数据,深度数据

保存在mat[ ]中,彩色信息存在matppm[ ]中,如下是编程中将三维模型以点的形式画出的程序语句,在

Opengl程序中画出的。

下面两句程序,有深度图uv坐标和世界坐标的变换,像素点RGB的匹配,如有不懂,请查相关资料

希望能给大家有所帮助,如果分析中有不恰当的地方,望批评指正

for(int i=0;i<480;i++)

{

for(int j=0;j<640;j++)

{

if(mat[i*640+j]!=0)

{

glColor3ub(int (matppm[(i*640+j)*3]),int (matppm[(i*640+j)*3+1]),int (matppm[(i*640+j)*3+2]));

glVertex3f(double(0.0017*j*mat[i*640+j]+ (-0.4106f)*mat[i*640+j]),-double(0.0017*i*mat[i*640+j]+ (-0.5713f)*mat[i*640+j]),-mat[i*640+j]);

}

}

}


以上是以像素点组成的,视角发生改变后就会看到图像的失真。下图是将画图方法改为一个个小矩形面,改变视角后图像不失真。



后期处理效果







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: