Windows采用VS2019实现Open3D的C++应用

1、参考链接

https://blog.csdn.net/qq_31254435/article/details/137799739

但是,我的方法和上述链接不大一样,我是采用VS2019进行编译的,方便在Windows平台上验证各种算法。

2、创建一个VS2019的C++ Console工程

#include <iostream>

#include <open3d/Open3D.h>

int main() {

using namespace open3d::geometry;

auto sphere = TriangleMesh::CreateSphere(1.0, 4);

sphere->ComputeVertexNormals();

sphere->PaintUniformColor({ 1, 0.706, 0 });

std::cout << sphere->vertices_.size() << " vertices\n";

std::cout << sphere->triangles_.size() << " triangles\n";

open3d::visualization::DrawGeometries({ sphere });

}

Include目录:

库目录:

3、将Open3D.dll放入到系统的Path当中

4、运行效果

5、载入一个PLY文件显示

#include <iostream>

#include <open3d/Open3D.h>

int main()

{

std::string file_path = "E:\\PDAL\\PDAL\\bin\\t2.ply";

// 创建 PointCloud 对象

open3d::geometry::PointCloud point_cloud;

// 创建读取选项(可以根据需要添加参数)

open3d::io::ReadPointCloudOption params;

// 读取 PLY 文件

if (!open3d::io::ReadPointCloudFromPLY(file_path, point_cloud, params)) {

std::cerr << "Failed to load PLY file: " << file_path << std::endl;

return 1;

}

// 对点云进行法线估计

point_cloud.EstimateNormals(open3d::geometry::KDTreeSearchParamHybrid(0.1, 30));

// 缩放点云

double scale_factor = 10.0; // 调整此因子以改变点云大小

for (auto& point : point_cloud.points_) {

point = point * scale_factor;

}

// 创建可视化窗口

open3d::visualization::Visualizer visualizer;

visualizer.CreateVisualizerWindow("Point Cloud from PLY", 1024, 768);

// 使用 std::make_shared 将 PointCloud 转换为 std::shared_ptr

visualizer.AddGeometry(std::make_shared<const open3d::geometry::PointCloud>(point_cloud));

visualizer.Run();

visualizer.DestroyVisualizerWindow();

return 0;

}

(愿意点赞和收藏的小伙伴,不妨关注我,我正在寻求涨粉)

相关推荐
蒸蒸yyyyzwd8 分钟前
cpp 选手秋招学习笔记 day33
c++·笔记·求职招聘
郝学胜-神的一滴16 分钟前
Effective Python 条款 10 :海象运算符_=
开发语言·python·程序人生·开源
wuyk55517 分钟前
Python零基础入门第十四章:异常处理(try-except)
开发语言·python
wuyk55522 分钟前
【Socket 进阶之路】第 3 章 TCP 三次握手 & 四次挥手深度剖析|连接建立、断开、状态机、TIME_WAIT 核心工程问题
服务器·开发语言·网络·物联网·网络协议·tcp/ip
彧azz6 小时前
图的存储结构详解:邻接矩阵的原理、实现与应用
开发语言·数据结构·学习·php
hansang_IR6 小时前
【题解】P4460 [CQOI2018] 解锁屏幕
c++·算法
嵌入式学习菌6 小时前
Modbus‑RTU 数据类型分析
开发语言·单片机·bug
ChampaignWolf7 小时前
在 SAP S/4HANA 内部基于 ICF Handler 从零实现 ABAP MCP Server:架构、代码与踩坑实录
c++·架构·sap·abap·mcp
matlab代码7 小时前
基于matlab数字图像处理的指纹识别系统【源码68期】
开发语言·matlab
matlab代码8 小时前
基于matlab的水果识别系统(苹果香蕉菠萝梨桃子)【源码65期】
开发语言·matlab