如何从KINECT中获取点云数据下载

DepthmapToPointCloud_OpenGL 用kinect采集深度图像,并利用 NI从 获取点云数据并保存,还可 显 program 238万源代码下载-
&文件名称: DepthmapToPointCloud_OpenGL
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 7 KB
&&上传时间:
&&下载次数: 30
&&提 供 者:
&详细说明:用kinect采集深度图像,并利用openNI从深度图像获取点云数据并保存,还可利用openGL显示-Get the point cloud data use openNI
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&DepthmapToPointCloud_OpenGL&&DepthmapToPointCloud_OpenGL.sln&&...........................\DepthmapToPointCloud.h&&...........................\DepthmapToPointCloud_OpenGL.vcxproj&&...........................\DepthmapToPointCloud_OpenGL.vcxproj.filters&&...........................\DepthmapToPointCloud_OpenGL.vcxproj.user&&...........................\PointCloudDisplay.cpp
&近期下载过的用户:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 本程序主要实现了OpenGl技术显示三维点云数据,能够读入以.obj为扩展名的,数据格式为X,Y,Z的点云数据。
&[] - 用OpenGL绘制DDA直线:两点确定一条曲线,即用鼠标点两点使
&[] - 基于android 和 opengl 实现的媒体播放器的写的不错的论文
&[] - Android手机应用,用OpenGL画的球体,球体是地球纹理
&[] - kinect 人机交互开发实践 实例1 调用api获红外图像 获取深度信息
&[] - 用kinect分别保存深度图和色彩图的小程序
&[] - CUDA图像处理的程序,这个程序速度快,效率高
&[] - kinect利用openni获取点云数据的颜色图和深度图
&[] - kinect采集的点云数据用PCL库显示出来
&[] - 微软的Kinect深度图的显示及处理.在深度图帧中,每个像素有2个字节,而每个字节又有8位,故每个像素占了16位。虽然有16位,但并不是全部用来存储图像数据,从0到2是用来储存用户数据的。基于Kinect的苹果树点云提取研究及展望--《农业展望》2015年10期
基于Kinect的苹果树点云提取研究及展望
【摘要】:为获取苹果树三维形态数据,研究使用Kinect三维采集传感器获取果树点云数据的系统工作流程,并在室内和室外进行了验证实验。结果表明该研究方法在适宜的环境条件和实验对象下可以提取到苹果树的三维点云数据,为苹果树的三维形态获取以及未来的应用方向进行了有益的探索。
【作者单位】:
【关键词】:
【基金】:
【分类号】:TP391.41;S661.1【正文快照】:
的三维建模系统自动化程度低,费时费力%2010年微〇51 m 软推出高性价比的体感外设Kinect后,迅速被科研人果树三维形态结构模型是我国数字果园研究中的 员推广,在手势识别、虚拟装配、运动捕捉、路径导重要组成部分ra。果树三维形态获取在冠层光截获分 航等非农业领域取得广泛
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【参考文献】
中国期刊全文数据库
孙志鸿,孙忠富,杨朝选,王迎春;[J];果树学报;2005年04期
江晓庆;肖德琴;张波;陈剑;;[J];广东农业科学;2012年23期
周国民;;[J];农业网络信息;2012年01期
肖路昊;龚光红;;[J];中国体视学与图像分析;2014年03期
中国硕士学位论文全文数据库
杨伟伟;[D];西北农林科技大学;2012年
肖潇;[D];昆明理工大学;2013年
王龙;[D];东华大学;2014年
【共引文献】
中国期刊全文数据库
路超;王金政;薛晓敏;安国宁;;[J];山东农业科学;2009年07期
路超;王金政;薛晓敏;安国宁;;[J];山东农业科学;2010年11期
胡利平;裴古娥;姚延锋;安晶;刘晓强;;[J];干旱地区农业研究;2010年01期
孙志鸿;魏钦平;杨朝选;孙忠富;王小伟;;[J];果树学报;2008年02期
张广波;李希灿;程述汉;;[J];测绘与空间地理信息;2013年08期
周薇;刘刚;马晓丹;冯娟;;[J];光学学报;2014年02期
周薇;马晓丹;张丽娇;郭彩玲;刘刚;;[J];光学学报;2014年12期
路超;王金政;薛晓敏;安国宁;;[J];江西农业学报;2011年06期
余秀丽;王丹丹;牛磊磊;宋怀波;何东健;胡少军;耿楠;;[J];农机化研究;2015年11期
黎瑞君;岳延滨;童倩倩;李莉婕;赵泽英;孙长青;舒田;;[J];农技服务;2015年09期
中国博士学位论文全文数据库
路超;[D];山东农业大学;2014年
马晓丹;[D];中国农业大学;2015年
中国硕士学位论文全文数据库
何凤梨;[D];西北农林科技大学;2007年
李永武;[D];西北农林科技大学;2008年
李美荣;[D];兰州大学;2008年
熊瑛;[D];首都师范大学;2009年
杨勇;[D];西北农林科技大学;2010年
刘娟;[D];新疆农业大学;2013年
孙斌;[D];南京林业大学;2013年
汪妙秋;[D];华中农业大学;2013年
肖潇;[D];昆明理工大学;2013年
陈锡龙;[D];西北农林科技大学;2013年
【二级参考文献】
中国期刊全文数据库
;[J];Animal Husbandry and Feed S2010年04期
李晓玲;;[J];安徽农学通报(上半月刊);2009年09期
刘业好,魏钦平,高照全,王小伟,魏胜林;[J];安徽农业大学学报;2004年03期
王文娣,钱东平,杨世风;[J];河北农业大学学报;2004年05期
朱梅玲,乔进春,姬惜珠,齐国辉,许剑锋;[J];河北农业大学学报;2005年01期
李明;张长利;王晓楠;;[J];东北农业大学学报;2009年04期
刘关君,王大海,郭晓瑞,杨传平,姜静,冯昕;[J];东北林业大学学报;2004年05期
王建华;韩红艳;王春平;朱元昌;;[J];电光与控制;2007年04期
邱建丽;李意德;陈德祥;骆土寿;;[J];广东林业科技;2008年01期
梁光明,孙即祥,马琦,姚春光;[J];国防科技大学学报;2003年05期
中国博士学位论文全文数据库
季铮;[D];武汉大学;2007年
王立中;[D];内蒙古农业大学;2009年
中国硕士学位论文全文数据库
马彦平;[D];华中农业大学;2010年
李婷姣;[D];河北农业大学;2011年
林鹏;[D];上海交通大学;2012年
周春江;[D];重庆大学;2005年
郝玉梅;[D];西北农林科技大学;2007年
张立莎;[D];河北农业大学;2009年
王秋晓;[D];西北农林科技大学;2009年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 知识超市公司
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备74号热门搜索:
▍三维空间消隐算法
▍求解VRP问题的一些代码、 自己搜集的
▍三维重建程序
▍美国地质调查局 DEM三维地形漫游系统
▍三维Obj读取的代码
▍计算机算法-约束性线性规划问题的单纯求解算法
▍点云处理软件
▍曲线上点的法向量计算matlab
▍完整而高效的凸包求解方法,
▍点云图像法向量计算程序
热门关键词搜索
Sponsored links
23 篇源代码 21 篇源代码 18 篇源代码 13 篇源代码 9 篇源代码
285 篇源代码 173 篇源代码 48 篇源代码 42 篇源代码 36 篇源代码
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧
请按 Ctrl+D 键添加到收藏夹。6942人阅读
kinect & PCL(2)
& & & & 参考台湾Heresy大神的程序:
#include &XnCppWrapper.h&
#include &iostream&
#include &iomanip&
#include &vector&
//point cloud data struct
struct SColorPoint3D
SColorPoint3D( XnPoint3D pos, XnRGB24Pixel color )
X = pos.X;
Y = pos.Y;
Z = pos.Z;
R = (float)color.nRed / 255;
G = (float)color.nGreen / 255;
B = (float)color.nBlue / 255;
void GeneratePointCloud( DepthGenerator& rDepthGen,
const XnDepthPixel* pDepth,
const XnRGB24Pixel* pImage,
vector&SColorPoint3D&& vPointCloud )
// number of point is the number of 2D image pixel
DepthMetaData mDepthMD;
rDepthGen.GetMetaData( mDepthMD );
unsigned int uPointNum = mDepthMD.FullXRes() * mDepthMD.FullYRes();
// build the data structure for convert
XnPoint3D* pDepthPointSet = new XnPoint3D[ uPointNum ];
unsigned int i, j, idxShift,
for( j = 0; j & mDepthMD.FullYRes(); ++j )
idxShift = j * mDepthMD.FullXRes();
for( i = 0; i & mDepthMD.FullXRes(); ++i )
idx = idxShift +
pDepthPointSet[idx].X =
pDepthPointSet[idx].Y =
pDepthPointSet[idx].Z = pDepth[idx];
// un-project points to real world
XnPoint3D* p3DPointSet = new XnPoint3D[ uPointNum ];
rDepthGen.ConvertProjectiveToRealWorld( uPointNum, pDepthPointSet, p3DPointSet );
delete[] pDepthPointS
// build point cloud
for( i = 0; i & uPointN ++ i )
// skip the depth 0 points
if( p3DPointSet[i].Z == 0 )
vPointCloud.push_back( SColorPoint3D( p3DPointSet[i], pImage[i] ) );
delete[] p3DPointS
int main(void)
XnStatus eResult = XN_STATUS_OK;
int i = 0;
Context mC
eResult = mContext.Init();
DepthGenerator mDepthG
eResult = mDepthGenerator.Create(mContext);
ImageGenerator mImageG
eResult = mImageGenerator.Create(mContext);
// set output mode
XnMapOutputMode mapM
mapMode.nXRes = XN_VGA_X_RES;
mapMode.nYRes = XN_VGA_Y_RES;
mapMode.nFPS
eResult = mDepthGenerator.SetMapOutputMode(mapMode);
eResult = mImageGenerator.SetMapOutputMode(mapMode);
// start generating
eResult = mContext.StartGeneratingAll();
// read data
vector&SColorPoint3D& vPointC
while ( !xnOSWasKeyboardHit() )
eResult = mContext.WaitNoneUpdateAll();
// get the depth map
const XnDepthPixel*
pDepthMap = mDepthGenerator.GetDepthMap();
// get the image map
const XnRGB24Pixel*
pImageMap = mImageGenerator.GetRGB24ImageMap();
// generate point cloud
vPointCloud.clear();
GeneratePointCloud(mDepthGenerator, pDepthMap, pImageMap, vPointCloud );
// print point cloud
cout.flags(ios::left);
//Left-aligned
cout && &Point number: & && vPointCloud.size() &&
for(i=0;i&vPointCloud.size();i++)
cout && setw(10) &&
cout && &X:& && setw(10) && vPointCloud[i].X;
cout && &Y:& && setw(10) && vPointCloud[i].Y;
cout && &Z:& && setw(10) && vPointCloud[i].Z;
cout && &R:& && setw(10) && vPointCloud[i].R;
cout && &G:& && setw(10) && vPointCloud[i].G;
cout && &B:& && setw(10) && vPointCloud[i].B &&
mContext.StopGeneratingAll();
mContext.Shutdown();
& & & && & &更新版:
#include &XnCppWrapper.h&
#include &iostream&
#include &iomanip&
#include &vector&
#include &unistd.h&
#include &GL/glut.h&
#include &math.h&
/* 点云数据格式 */
struct point_xyz
point_xyz(XnPoint3D pos, XnRGB24Pixel color)
X = pos.X;
Y = pos.Y;
Z = pos.Z;
R = (float)color.nRed / 255;
G = (float)color.nGreen / 255;
B = (float)color.nBlue / 255;
/* 点云类 */
class point_cloud
DepthGenerator
ImageGenerator
XnMapOutputMode
vector&point_xyz&
//存放一帧图像中的所有点云数据
/* 构造函数\析构函数 */
point_cloud(Context &contex, DepthGenerator &depthGenerator, ImageGenerator &imageGenerator)
: context(contex), depth_generator(depthGenerator),
image_generator(imageGenerator), result_val(XN_STATUS_OK) {}
~point_cloud() { stop(); }
/* 输出模式设置 */
inline const XnMapOutputMode get_default_output_mode();
void set_output_mode(const XnMapOutputMode &outputMode);
/* 点云数据处理*/
inline void clear();
inline void print();
inline int
/* 错误输出 */
inline void printError();
inline const XnMapOutputMode point_cloud::get_default_output_mode()
XnMapOutputMode outputMode = {XN_VGA_X_RES, XN_VGA_Y_RES, 30};
return outputM
void point_cloud::set_output_mode(const XnMapOutputMode &outputMode)
map_mode.nFPS
= outputMode.nFPS;
map_mode.nXRes = outputMode.nXR
map_mode.nYRes = outputMode.nYR
void point_cloud::init()
result_val = context.Init();
printError();
/* 从文件中获取数据 */
result_val = context.OpenFileRecording(&tempRec.oni&);
printError();
result_val = context.FindExistingNode(XN_NODE_TYPE_DEPTH, depth_generator);
printError();
result_val = context.FindExistingNode(XN_NODE_TYPE_IMAGE, image_generator);
printError();
/* 从设备中获取数据 */
/*result_val = depth_generator.Create(context);
printError();
result_val = image_generator.Create(context);
printError();
// set output mode
result_val = depth_generator.SetMapOutputMode(map_mode);
printError();
result_val = image_generator.SetMapOutputMode(map_mode);
printError(); */
/* 开始生成数据 */
result_val = context.StartGeneratingAll();
printError();
void point_cloud::stop()
context.StopGeneratingAll();
context.Shutdown();
inline void point_cloud::print()
cout.flags(ios::left);
//Left-aligned
cout && &Point number: & && size() &&
for(i=0;i& size();i++)
cout && &X:& && setw(10) && cloud_vector[i].X;
cout && &Y:& && setw(10) && cloud_vector[i].Y;
cout && &Z:& && setw(10) && cloud_vector[i].Z;
cout && &R:& && setw(10) && cloud_vector[i].R;
cout && &G:& && setw(10) && cloud_vector[i].G;
cout && &B:& && setw(10) && cloud_vector[i].B &&
inline int point_cloud::size()
return cloud_vector.size();
inline void point_cloud::clear()
cloud_vector.clear();
inline void point_cloud::printError()
if (result_val != XN_STATUS_OK)
printf(&Error: %s&, xnGetStatusString(result_val));
void point_cloud::updata()
result_val = context.WaitNoneUpdateAll();
/* 获得深度和图像数据 */
const XnDepthPixel*
pDepth = depth_generator.GetDepthMap();
const XnRGB24Pixel*
pImage = image_generator.GetRGB24ImageMap();
/* 清零点云向量 */
/* 获得点的数量 */
DepthMetaData
depth_generator.GetMetaData(mDepthMD);
unsigned int uPointNum = mDepthMD.FullXRes() * mDepthMD.FullYRes();
/* 获得原始的点云数据 */
XnPoint3D* pDepthPointSet = new XnPoint3D[uPointNum];
unsigned int i, j, idxShift,
for( j = 0; j & mDepthMD.FullYRes(); ++j )
idxShift = j * mDepthMD.FullXRes();
for( i = 0; i & mDepthMD.FullXRes(); ++i )
idx = idxShift +
pDepthPointSet[idx].X =
pDepthPointSet[idx].Y =
pDepthPointSet[idx].Z = pDepth[idx];
/* 将原始数据转换成真实的3D数据 */
XnPoint3D* p3DPointSet = new XnPoint3D[uPointNum];
depth_generator.ConvertProjectiveToRealWorld(uPointNum, pDepthPointSet, p3DPointSet);
delete[] pDepthPointS
/* 输出点云数据 */
for( i = 0; i & uPointN ++ i )
if( p3DPointSet[i].Z == 0 )
// 跳过深度为0的数据
cloud_vector.push_back( point_xyz( p3DPointSet[i], pImage[i] ) );
delete[] p3DPointS
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:555160次
积分:6427
积分:6427
排名:第1968名
原创:78篇
转载:47篇
评论:507条
文章:25篇
阅读:192517

我要回帖

更多关于 点云数据下载 的文章

 

随机推荐