当前位置: 首页 > news >正文

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;

}

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ~Keepalived高可用集群~
  • CAPL使用结构体的方式组装一条DoIP车辆识别请求报文(payload type 0x0002)
  • [Datawhale AI夏令营 2024 第四期] 从零入门大模型微调之旅的总结
  • wordpress网站“ERR_CONNECTION_REFUSED”错误
  • string模拟
  • leetcode 21-30(2024.08.16)
  • P2460[SDOI2007] 科比的比赛
  • PyTorch--深度学习
  • 开源通用验证码识别OCR —— DdddOcr 源码赏析(一)
  • [C#]winform基于opencvsharp结合Diffusion-Low-Light算法实现低光图像增强黑暗图片变亮变清晰
  • 基于改进YOLOv8的景区行人检测算法
  • C语言——函数专题
  • LSTM 模型原理
  • Python----爬虫
  • django之select_related 与 prefetch_related用法
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • Angular 响应式表单 基础例子
  • Consul Config 使用Git做版本控制的实现
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • ES6--对象的扩展
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Java超时控制的实现
  • jQuery(一)
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Otto开发初探——微服务依赖管理新利器
  • Redis 中的布隆过滤器
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 订阅Forge Viewer所有的事件
  • 机器学习中为什么要做归一化normalization
  • 警报:线上事故之CountDownLatch的威力
  • 开源地图数据可视化库——mapnik
  • 深度学习入门:10门免费线上课程推荐
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 通过npm或yarn自动生成vue组件
  • 微服务核心架构梳理
  • 一、python与pycharm的安装
  • 正则表达式小结
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • #HarmonyOS:Web组件的使用
  • #php的pecl工具#
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • ( 10 )MySQL中的外键
  • (13):Silverlight 2 数据与通信之WebRequest
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (pycharm)安装python库函数Matplotlib步骤
  • (差分)胡桃爱原石
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • ******IT公司面试题汇总+优秀技术博客汇总
  • **python多态
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能