Dlib三维点云示例

源代码来自Dlib的示例代码http://dlib.net/3d_point_cloud_ex.cpp.html

在windows下需要链接winmm``comctl32``gdi32``imm32``user32等库。

下面的代码生成一个像是三维螺旋状的点云。

源码如下

  1. #include <dlib/gui_widgets.h>
  2. #include <dlib/image_transforms.h>
  3. #include <cmath>
  4. using namespace dlib;
  5. using namespace std;
  6. int main()
  7. {
  8. // 做一个看起来像一个3D螺旋的点云。
  9. std::vector<perspective_window::overlay_dot> points; // 点云的点(透视窗口覆盖点类型)
  10. dlib::rand rnd; // 随机数产生器
  11. for (double i = 0; i < 20; i+=0.001)
  12. {
  13. // 获取螺旋曲线上的一个点
  14. dlib::vector<double> val(sin(i),cos(i),i/4);
  15. // 给这个点添加一些随机噪声
  16. dlib::vector<double> temp(rnd.get_random_gaussian(),
  17. rnd.get_random_gaussian(),
  18. rnd.get_random_gaussian());
  19. val += temp/20;
  20. // 沿着螺旋走,根据距离选择颜色
  21. rgb_pixel color = colormap_jet(i,0,20);
  22. // 将点添加到待显示的点列表
  23. points.push_back(perspective_window::overlay_dot(val, color));
  24. }
  25. // 现在在窗口展示点云
  26. perspective_window win; // 创建透视窗口
  27. win.set_title("prespective_window 3D point cloud");
  28. win.add_overlay(points); // 添加覆盖点
  29. win.wait_until_closed(); // 等待窗口关闭
  30. }

Dlib三维点云示例的更多相关文章

  1. 第一周:读取XML深度数据并将其重建为三维点云

    本周主要任务:学习PCL点云库,掌握利用PCL对点云处理的方法 任务时间:2014年9月1日-2014年9月7日 任务完成情况:完成了读取单幅xml深度数据,并重建三维点云并显示 任务涉及基本方法: ...

  2. python读取三维点云球坐标数据并动态生成三维图像与着色

    关键步骤: 1.首先通过读取.txt文本数据并进行一系列字符串处理,提取显示所需要的相关数据矩阵 2.然后利用python的matplotlib库来进行动态三维显示 备注:matplotlib在显示2 ...

  3. Matlab给三维点云添加高斯噪声和随机噪声

    写在前面 在我们进行点云配准一类的模拟实验时,第一步就是对原始点云进行适当的RT变换,并添加一定的噪声,得到测量点云,然后才可以用我们的算法去进行后面的配准操作.在添加噪声这一块,matlab里并没有 ...

  4. 三维点云去噪无监督学习:ICCV2019论文分析

    三维点云去噪无监督学习:ICCV2019论文分析 Total Denoising: Unsupervised Learning of 3D Point Cloud Cleaning 论文链接: htt ...

  5. Geo-CNN的三维点云

    Geo-CNN的三维点云 Modeling Local Geometric Structure of 3D Point Clouds using Geo-CNN 摘要 深度卷积神经网络(CNNs)的最 ...

  6. CVPR2020:训练多视图三维点云配准

    CVPR2020:训练多视图三维点云配准 Learning Multiview 3D Point Cloud Registration 源代码和预训练模型:https://github.com/zgo ...

  7. CVPR2020:端到端学习三维点云的局部多视图描述符

    CVPR2020:端到端学习三维点云的局部多视图描述符 End-to-End Learning Local Multi-View Descriptors for 3D Point Clouds 论文地 ...

  8. CVPR2020:三维点云无监督表示学习的全局局部双向推理

    CVPR2020:三维点云无监督表示学习的全局局部双向推理 Global-Local Bidirectional Reasoning for Unsupervised Representation L ...

  9. php三维数组去重(示例代码)

    php三维数组去重的示例代码.  假设叫数组 $my_array; <?php // 新建一个空的数组. $tmp_array = array(); $new_array = array(); ...

随机推荐

  1. 基于图的图像分割(Graph-Based Image Segmentation)

    一.介绍 基于图的图像分割(Graph-Based Image Segmentation),论文<Efficient Graph-Based Image Segmentation>,P. ...

  2. vmware桥接模式

    vmware桥接模式 桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一 ...

  3. N体运动的程序模拟

    这依然是与<三体>有关的一篇文章.空间中三个星体在万有引力作用下的运动被称之为三体问题,参见我的上一篇文章:三体运动的程序模拟.而这一节,对三体问题进行了扩展,实现了空间中N个星体在万有引 ...

  4. 一种模块化开发的目录结构和部署tips

    开发环境 开发态目录结构类似: 然后用express的static,将上下文映射到static那级目录上,比如访问: http://ip:5000/employee/employeeList.html ...

  5. Go语言之进阶篇 netcat工具的使用

    一.netcat工具的使用 1.先安装netcat软件,再配置环境变量 2.tcp服务器代码 示例: package main import ( "fmt" "net&q ...

  6. Java Math.sqrt()方法

    描述 java.lang.Math.sqrt(double a) 返回正确舍入的一个double值的正平方根.特殊情况: 如果参数是NaN或小于为零,那么结果是NaN. 如果参数是正无穷大,那么结果为 ...

  7. ASP入门(十六)-ASP开发的规范

    毋容置疑,在开发中遵守一套规范,将会有利于提高代码的可读性,较低后期维护成本. 文件存放目录规范 js 目录下存放着页面所使用的 JavaScript 脚本文件,因为我们可能用到第三方提供的免费的 J ...

  8. ASP入门(三)-VBScript变量、运算符

    ASP内置了两种语法引擎,分别是VBScript和JScript. VBScript是VB的一个子集.JScript和JavaScript有些类似. 如果你熟悉VB,建议用VBScript,否则推荐使 ...

  9. js实现双击滚屏效果

    <body onDblClick="s=setInterval('scrollBy(0,2)',50)" onMousedown="clearInterval(s) ...

  10. ios 开发 ping

    在win 或 mac系统的终端下都有方便的ping命令来检测网络的连通性! 在iOS上可以使用苹果封装好的工具来开发ping连接测试 SimplePing 下载 1. 主要接口 //初始化一个地址 - ...