自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jiaojialulu的专栏

欢迎批评指正!

  • 博客(33)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 kinect studio的使用方法,模拟kinect2实物进行程序测试

介绍kinect studio是windows SDK自带的一套录制和播放kinect2混合视频的工具,可以让开发者在无需连接kinect2的情况下,软件模拟kinect2视频流,极大地方便了开发和学习。操作使用也很简单,下面就简单说一下:使用流程第一步:录制视频文件(.xef)录制视频,当然是要连接kinect2的了,怎么连的就不说了打开studio-》RECORD-》connected

2017-12-11 20:44:50 5520 3

原创 kinect 2.0 SDK学习笔记(七)--matlab自带相机标定程序对kinect进行简单标定

相机标定是完成很多任务之前很有必要的一项工作,标定要做的就是得到相机内外参数。kinect有两个相机,一个深度相机,一个彩色相机,两个相机的内外参我们都要得到,具体什么是相机标定,大家可以百度。kinect 2.0 SDK中虽然可以查找到一部分标定信息,但是感觉不够准确,所以我们自己来试一试!SDK中的数据通过代码我们可以获得深度相机内参,下面写出主要的几行代码:CameraIntrinsics*

2017-08-20 17:23:41 22686 22

翻译 (十四)Visualization教程二

PCLPlotter类PCLPlotter类提供了一个十分直接简单的接口,通过它可以绘制各种图表,从多项式曲线图到直方图,从而不必要在使用MATLAB等软件来绘图了。我们下面就先从简单地画一个多项式曲线开始,逐步学习PCLPlotter类。画一个多项式曲线图步骤定义一个绘图器// 定义一个绘图器pcl::visualization::PCLPlotter * plotter = new pcl

2017-04-05 21:03:43 2341 3

翻译 (十三)Visualization教程一

CloudViewer如果你只是想简单的显示一幅点云,那么CloudViewer会是一个不错的选择。 注意CloudViewer类不能用在多线程实例头文件#include <pcl/visualization/cloud_viewer.h>程序pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud;//... populate cloudpcl::visu

2017-04-05 21:03:24 5834 1

翻译 (十一)OcTree教程三--OcTree在PCL中的应用-无序点云在空间中的动态检测

无序点云在空间中的动态检测在这篇教程中我们会学到如何用八叉树实现对多幅无序点云在空间变化上的检测。这里说的空间变化包括了点云的大小,分辨率,密度和点序。通过递归得比较八叉树的树结构,空间上的变化会从体素的配置参数上看出来。此外,我们解释了如何使用pcl八叉树的“双缓冲(double buffering)”技术来让我们高效地每次处理多幅点云。步骤对无序点云在空间变化上的检测,其实是对前后两幅点云在八叉

2017-04-05 21:02:52 4674

翻译 (十二)OcTree教程四--OcTree在PCL中的应用-点云压缩

点云压缩点云带有大量的数据,不仅包括三维信息,还有额外的距离,颜色,法向量等等。此外,点云可以快速生成,这会占有大量的内存资源。一旦点云必须被存储或者用于通信传输,对于点云的压缩技术就显得十分重要了。PCL提供了点云压缩功能,它支持对各种类型点云的压缩,其中包括无序点云,此外,在八叉树结构下的数据支持高效地合并多个来自不同数据源的点云。 下面我们将一个点云进行压缩,压缩的结果是一个String

2017-04-05 21:02:04 7058 4

翻译 (十)OcTree教程二--OcTree在PCL中的应用-空间划分和近邻搜索

OcTree在PCL中的应用八叉树作为三维空间中点的重要数据结构在PCL中有很多应用,下面就分别从空间划分、近邻搜索、点云压缩和空间变化检测几个方面来介绍。空间划分和近邻搜索八叉树是将空间平均得分为8个部分,每个节点就是一个部分,我们假设三维空间是一个正立方体,每个节点就是一个小立方体。划分到最后,一个叶子结点代表一个最小的空间范围,我们称之为体素。八叉树的建立过程也就是空间划分的过程。 基于八叉

2017-04-05 21:01:32 8038 3

翻译 (九)OcTree教程一--OcTree原理介绍

OcTree原理介绍八叉树是一种用于描述三维空间的树状数据结构。八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,将八个子节点所表示的体积元素加在一起就等于父节点的体积。八叉树是四叉树在三维空间上的扩展,二维上我们有四个象限,而三维上,我们有8个卦限。八叉树主要用于空间划分和最近邻搜索。 八叉树建立过程伪代码: (1). 设定最大递归深度 (2). 找出场景的最大尺寸,并以此尺寸

2017-04-05 21:00:57 14520

翻译 (八)k-dTree库教程二--k-d树在PCL中的应用

k-d树在PCL中的应用上一讲中,我们介绍了k-d树在二维上的原理,k-d树构建算法和k-d树是如何应用于最近邻查找算法的。对于PCL中的k-d树来说,只不过是将二维提升到了三维而已。下面我们就看看PCL是如何将k-d树应用于范围搜索和最近邻搜索的。 PCL中使用的k-d树的算法来自FLANN(Fast Library for Approximate Nearest Neighbors),它是目

2017-04-05 21:00:00 3953 1

翻译 (七)k-dTree库教程一--k-d树原理介绍

PCD文件操作本篇文章中会介绍对PCD文件的读写操作,点云的合并操作类型1. 读操作头文件:#include <pcl/io/pcd_io.h>关键函数:从硬盘加载一个PCD格式的模板点云template<typename PointT> inline int loadPCDFile (const std::string &file_name, pcl::PointCloud<PointT>

2017-04-05 20:57:59 3974

翻译 (六)IO库教程二--PCD文件操作

PCD文件操作本篇文章中会介绍对PCD文件的读写操作,点云的合并操作类型1. 读操作头文件:#include <pcl/io/pcd_io.h>关键函数:从硬盘加载一个PCD格式的模板点云template<typename PointT> inline int loadPCDFile (const std::string &file_name, pcl::PointCloud<PointT>

2017-04-05 20:55:12 3353

翻译 (五)IO库教程一--PCD(Point Cloud Data)文件格式

PCL中的3D特征PCD(Point Cloud Data)文件格式本文讲解了PCD(Point Cloud Data)的文件格式,还有在PCL中对它的用法PCD出现的背景PCD文件格式的出现,是为了弥补其他文件格式在PCL处理N维点云中的各种问题。 PCD不是第一种支持3D点云数据的格式: - PLY - 一种多边形文件格式 - STL - CAD软件得到的格式 - OBJ - 从几何学上

2017-04-05 20:53:15 2646

翻译 (四)利用矩阵对点云进行刚体变换

利用矩阵对点云进行刚体变换在这篇教程中,我们会学习如何用一个4*4的矩阵对点云进行变换。我们会加载一个点云,然后对其进行刚体变换(旋转加平移),最后显示结果。 程序/* * 功能: 点云刚体变换 * 头文件: #include &lt;pcl/common/transforms.h&gt; * 功能函数: pcl::transformPointCloud(*pPointCloudIn, *pPointC

2017-04-05 20:51:54 6925 3

翻译 (三)PCL中点的类型

PCL中点的类型使用PointT类型的原因最早,PCL的PointT是作为ROS中的一个库被开发出来的。大家一致认为点云(Point Cloud)是一个复杂的n维结构,能表示不同的类型的信息。然而,对于用户来说,为了使代码易于调试,便于优化等,应该知道什么样的信息需要被传递。 下面用对XYZ数据的简单操作来举例。对于支持SSE的处理器来说,最高效的方式就是将XYZ这三维数据以float的形式存储,

2017-04-05 20:49:21 5962 1

翻译 (二)PCL基本数据类型

PointCloud在PCL 1.x中最基本的数据类型就是PointCloud了。它是一个C++类,包含了如下的数据成员(括号中是这个数据的数据类型): - width(int) ==指定了点云数据中的宽度==。width有两层含义: - 可以指定点云的数量,但是只是对于无序点云而言。 - 指定有序点云中,一行点云的数量。 有序点云(organized point cloud )

2017-04-05 20:48:19 6417 2

翻译 (一)PCL总览

基本上都是官网上的东西翻译了一下,因为自己用的比较多,就当是学习和记录了。概述PCL被分成了许多模块化的库,下面是其中最重要的模块: 下面对各个模块进行介绍:滤波器(Filters)背景下图展示了一个去噪的例子。由于测量的误差,一些数据表现为背景点(shadow points)。这让获取点云的3D特征变得困难。其中的一些外点(outliers)可以通过对每个点的邻域进行静态分析判断出来,并将它

2017-04-05 20:46:26 3253 1

原创 kinect 2.0 SDK学习笔记(六)--深度图的实时平滑之加权移动平均机制

上一节我们介绍了像素滤波器,下面介绍另一个实时平滑深度图的机制–加权移动平均机制。3.2 加权移动平均机制我们通过观察可以发现,即使kinect采集的是一个静止的场景,在得到的深度图上,同一个像素位置对应的深度值也是在不断变化的,这被称为闪动效应(flickering effect),它是由于随机噪声引起的。 如果要求稳定的深度值,就要尽量避免这种闪动效应。我们的办法是这样的: - 首先,用一个

2016-11-17 22:59:38 5060 4

原创 kinect 2.0 SDK学习笔记(五)--深度图的实时平滑之像素滤波器

深度图的实时平滑背景英文原文,使用的是第一代kinect youtube上的演示效果 深度数据存在的问题下图是我简单处理后的深度图: 蓝色表示采到深度值为0的点,而其他点用颜色来标识,颜色越深表示离相机越近。数据中的噪声表现为蓝色斑点在画面上不断出现和消失。一些噪点是由于红外在遇到物体表面时发生散射造成的,另一些是由于离得kinect较近的物体的遮挡。 另一个限制深度数据的地方在于kin

2016-11-16 23:00:35 11286 8

原创 kinect 2.0 SDK学习笔记(四)--深度图与彩色图对齐

深度图与彩色图对齐如果用kinect SDK的话只需要一个函数就好了:MapDepthFrameToColorSpace(512 * 424, depthData, 512 * 424, m_pColorCoordinates);depthData表示深度图的数据,m_pColorCoordinates表示一个数组,每个元素代表深度图中每个元素对应的1920*1080彩色图的像素坐...

2016-11-14 00:28:39 38949 95

原创 kinect 2.0 SDK学习笔记(三)--生成3D点云

生成3D点云本文在上一教程坐标映射基础上,构建3D点云并显示出来。 1. 获得深度帧和彩色帧: hr = m_pDepthFrameReader->AcquireLatestFrame(&m_pDepthFrame);hr = m_pColorFrameReader->AcquireLatestFrame(&m_pColorFrame);保存深度数据和颜色数据到数组

2016-11-08 22:23:59 15637 26

原创 kinect 2.0 SDK学习笔记(二)--坐标映射

坐标映射本文解释了如何通过windows SDK将获得到的原始数据进行坐标空间的映射。三个坐标空间相机空间相机空间指的是kinect使用的3D空间坐标。它是这样定义的: - 坐标原点(x=0,y=0,z=0)位于kinect的红外相机中心。 - X轴方向为顺着kinect的照射方向的左方向 - Y轴方向为顺着kinect的照射方向的上方向 - z轴方向为顺着kinect的照射方向 - 坐标

2016-11-08 20:57:02 35395 28

原创 kinect 2.0 SDK学习笔记(一)--获得原始数据

工程配置包含目录加上: $(KINECTSDK20_DIR)\inc; 库目录加上: $(KINECTSDK20_DIR)\lib\x64;(注意选择x64/x86) 其中KINECTSDK20_DIR是安装kinect SDK时的安装目录,比如我的是 C:\Program Files\Microsoft SDKs\Kinect\v2.0_1409\六种数据源Kinect Da

2016-11-08 20:48:36 25180 31

原创 关于kinect v2性能分析的一些论文

PERFORMANCE EVALUATION OF THE 1ST AND 2ND GENERATION KINECT FOR MULTIMEDIA APPLICATIONS首先介绍了两代kinect,并简要说明了它们的工作原理。最后通过实验从光照、工作距离还有在应用上(三维重建、人体追踪)比较了两代kinect的性能。 FIRST EXPERIENCES WITH KINECT V2 SENSO

2016-10-19 12:07:20 13539 5

原创 RealSense SDK 中的UnityToolkit

1. UnityToolkit1.1 什么是UnityToolkit?UnityToolkit是RealSense SDK在unity中的插件。它包含了一系列的脚本、预设和其他工具,用来更方便的将RealSense技术和Unity结合起来开发。1.2 版本需求我的RealSense SDK版本是Intel® RealSense™ SDK 2015 R5,这个版本对于unity的要求是 Unity

2016-10-19 11:54:09 4681 2

原创 RealSense及librealsense介绍

1. RealSense1.1 什么是RealSense?简单的说, RealSense 技术相当于给你的电脑安了一双眼睛。 Intel RealSense 技术带来更加直观的沉浸式体验,加上 Intel 处理器强大的性能,为我们重新定义 了人机交互方式。 RealSense3D 是一套感知计算解决方案,通过一个比一元硬币 还小的 3D 摄像头,加入红外传感组件以及实感图像处理芯片,电脑能够精

2016-10-19 11:19:01 11281 1

原创 目前市面上的RGBD相机对比

对比项 kinect 1 kinect 2 RealSense F200 RealSense SR300 视场(FOV) 57.5˚水平by 43.5˚垂直 70˚水平 60˚垂直 ?? ?? 工作范围(m) 0.8 m -> 4.0 m 0.8 m -> 4.0 m 0.2m -> 1.2m 0.2 - 1.2 米,室内和间接阳光照射; 彩

2016-10-19 10:52:21 11336 2

原创 在Unity中实现点云的效果

如果要在unity中实现点云的效果这里有两种方法,一种是用自带的粒子系统,将每个点云中的点对应于每个粒子,并把对应的坐标,颜色赋值给粒子。第二种是用游戏物体的MeshFilter组件,只渲染顶点而不Mesh,再重写shader,赋予每个顶点颜色。 每种方法各有利弊,下面是实现过程:利用Unity中的粒子系统using UnityEngine;using System.Collections;u

2016-10-18 10:42:00 15726 10

原创 C++写的小工具

1.读取一个文件夹下固定格式的文件名,并改名为序号开头的文件//读取一个文件夹下固定格式的文件名,并改名为序号开头的文件#include <string>#include <vector>#include <fstream>#include <windows.h>#include <iostream>#include <io.h>#include <sstream>using nam

2016-09-19 09:09:09 4265

原创 PCL学习笔记

PCL的结构和内容:PCL完全是一个模块化的现代C++模板库。其基于以下第三方库:Boost、Eigen、FLANN、VTK、CUDA、OpenNI、QHull,实现点云相关的获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。 - Boost:用于共享指针和线程; - Eigen:用于矩阵、向量等数据操作; - FLANN:用于在KD树模块中快速近邻搜索; - VTK:

2016-09-16 22:56:19 4468

原创 使用libfreenect2库编译运行点云获取程序libfreenect2pclgrabber

介绍libfreenect2pclgrabber是一个通过freenect2和pcl获取点云数据的程序,可以支持多台kinect2同时采集数据。源码下载github上的地址:https://github.com/giacomodabisias/libfreenect2pclgrabber安装正确安装libfreenect2 使用libfreenect2:我们只用其install下的文件 修改环

2016-09-16 22:31:29 3356 6

原创 windows下libfreenect2的安装

libfreenect2什么是libfreenect2libfreenect2是一个针对kinect v2的非官方驱动,它是开源的,当我们在官方驱动不能满足需求的时候就可以使用它。支持的功能RGB 彩色图的获取IR 和深度图的获取彩色图和深度图的配准支持多kinect v2 它没有像官方驱动中集成丰富的算法比如骨骼追踪,但是可以支持多个kinect v2同时工作。源码下载github上有

2016-05-18 18:52:43 8186 17

原创 opencv2.4.10+VS2013安装

下载opencv官网:http://opencv.org/downloads.html 百度云:http://pan.baidu.com/s/1mhLwrrU安装双击opencv-2.4.10,选择要解压到的文件夹配置环境变量右击计算机->属性->高级系统设置->环境变量 在用户变量中新建OpenCV变量,如E:\applications\opencv2.4.10\opencv\build

2016-05-17 20:19:02 1444

原创 PCL-1.7.2-AllInOne-msvc2013-win64+VS2013安装

什么是PCLPCL(Point Cloud Library)是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据结构,涉及到点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。支持多种操作系统平台,可在Windows、Linux、Android、Mac OS X、部分嵌入式实时系统上运行。如果说OpenCV是2D信息获

2016-05-14 09:51:49 4703 2

立方体点云

https://blog.csdn.net/jiaojialulu/article/details/69348320 点云资源

2018-06-30

彩色图和深度图对齐用的配置文件

彩色图和深度图对齐用的配置文件,可以参考一下格式,不是非常精准,参考一下即可

2017-06-10

kinect+opengl 生成并显示点云

kinect+opengl 生成并显示点云 可查看博客http://blog.csdn.net/jiaojialulu/article/details/53089353

2017-04-05

完整的实时深度图平滑代码(像素滤波+加权移动平均)

完整的实时深度图平滑代码(像素滤波+加权移动平均)

2016-11-17

kinect深度图的平滑

有些像素的深度值为0的,我们希望除去这样的像素,但是又不会影响精度和数据的其他特性。此方法可用于实时平滑

2016-11-16

libfreenect2-master

kinect v2 的开源驱动

2016-11-01

unity在vs下调试插件

Unity 的开发者们,尤其是微软系的Unity开发者们,用Mono是不是烦死了?你是不是跟我一样,用vs来写代码,用Mono来跟踪调试?好麻烦啊好麻烦。这个插件可以直接在vs下调试运行,极其方便。

2016-06-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除