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;

}

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

  • 25
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Open3D是一个开源的3D数据处理库,目的是为3D计算机视觉和深度学习研究领域提供强大的工具。VS2019是微软公司发布的最新版本的集成开发环境,主要用于开发Windows平台上的应用程序。fmt库是一个C++20库,用于格式化输出和输入,它提供了现代化的格式化API,可以代替传统的printf和iostream库。 Open3DVS2019有着紧密的联系,因为Open3D是基于C++语言开发的,而VS2019是一个强大的C++集成开发环境。利用VS2019的优秀编译器和调试器,可以更方便地开发和调试Open3D的代码。 在Open3D开发中,fmt库文件也发挥了重要作用。作为一个高效的格式化库,它可以将Open3D的输出结果格式化为各种需要的格式,方便进行后续处理和分析。同时,fmt库也提供了丰富的格式化选项,可以让Open3D的输出结果更具可读性和美观度。 总之,Open3DVS2019以及fmt库文件之间存在着紧密的联系和互相依赖。它们的结合,为3D计算机视觉和深度学习研究领域提供了强大的工具和平台,推动了该领域的不断发展和进步。 ### 回答2: Open3D是一个流行的开源3D计算库,它在许多3D图形处理领域发挥着重要的作用,包括3D建模、几何算法、点云处理、深度学习等。它支持多种编程语言,包括 C++、Python 和 Java 等。 在使用Open3D库时,需要使用某些库文件来实现不同的功能。其中之一是 fmt 库,这是一个开源的 C++ 格式化库,它提供了一种简单、快速、安全的方式来格式化输出和输入。使用 fmt 库可以方便地格式化输出信息,比如尺寸、时间、字符串等等。fmt 库常用语处理文本消息、日志等应用场景。 如果你使用Visual Studio 2019(VS2019)进行开发,你需要将fmt库链接到Open3D中,这是因为Open3D库没有打包fmt库。因此,你需要先下载 fmt 库的源代码,然后在工程中将其链接到Open3D中,在项目属性设置中添加fmt库的路径,进而使项目能够编译成功。 总之,Open3D和 fmt 库是适用于不同场景的两个强大的开源库,它们都能为3D计算和数据处理带来不少便利。在使用 Open3D 时,要注意 fmt 库的使用,确保项目可以正常编译和执行。 ### 回答3: Open3D是一个开源的跨平台计算机视觉库,支持三维数据的处理和可视化。而VS2019则是微软开发的一款集成开发环境,开发者可以在其中编写和调试程序。 在Open3D中,使用fmt库文件作为格式化输出的工具,以便开发者能够更方便、更快速地输出数据。而在VS2019中,fmt库文件同样也是一种格式化输出的工具,它可以将数据格式化输出到控制台,帮助开发者在编写程序时更方便地了解代码执行情况。 总的来说,Open3DVS2019采用了fmt库文件作为格式化输出的工具,使得开发者能够更加方便地输出和查看数据。但由于Open3D主要用于三维数据处理和可视化,所以在使用Open3D时,需要使用Open3D自带的fmt库文件,而在VS2019中,可以使用标准库中的fmt库文件。此外,开发者还需要了解不同的编译器对于fmt库文件的支持情况,以确保代码能够顺利编译和执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值