当前页面链接:https://www.cnblogs.com/oloroso/p/6594804.html

Dlib三维点云示例

Dlib三维点云示例

源代码来自Dlib的示例代码http://dlib.net/3d_point_cloud_ex.cpp.html
在windows下需要链接winmm``comctl32``gdi32``imm32``user32等库。

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

源码如下

Copy Highlighter-hljs
#include <dlib/gui_widgets.h>
#include <dlib/image_transforms.h>
#include <cmath>
using namespace dlib;
using namespace std;
int main()
{
// 做一个看起来像一个3D螺旋的点云。
std::vector<perspective_window::overlay_dot> points; // 点云的点(透视窗口覆盖点类型)
dlib::rand rnd; // 随机数产生器
for (double i = 0; i < 20; i+=0.001)
{
// 获取螺旋曲线上的一个点
dlib::vector<double> val(sin(i),cos(i),i/4);
// 给这个点添加一些随机噪声
dlib::vector<double> temp(rnd.get_random_gaussian(),
rnd.get_random_gaussian(),
rnd.get_random_gaussian());
val += temp/20;
// 沿着螺旋走,根据距离选择颜色
rgb_pixel color = colormap_jet(i,0,20);
// 将点添加到待显示的点列表
points.push_back(perspective_window::overlay_dot(val, color));
}
// 现在在窗口展示点云
perspective_window win; // 创建透视窗口
win.set_title("prespective_window 3D point cloud");
win.add_overlay(points); // 添加覆盖点
win.wait_until_closed(); // 等待窗口关闭
}

posted @   乌合之众  阅读(953)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
clear
点击右上角即可分享
微信分享提示