open3d+vs+qt结合

版本:open3d 0.12和vs2019

open3d源码的编译和vs2019里qt插件安装就不说了,网上一堆说的,就是这个把open3d和vs结合起来我在网上看了很多博客和帖子都没有解决,一直会报错,之前一直用的cmake直接编译的所以没管,最后对照着open3d自带的例子配置出来了,其实很简单但是搞了我挺久。


1.先在VS里面创建QT项目

2.选择自己编译的open3d版本,我这里是release x64,注意qt需要在项目配置中设置为x64版本

3.项目右键-》属性-》VC++目录,添加如下包含open3d目录。

这里我的编译好的open3d库结构大概长这样

4.链接器,附加依赖项,在你之前编译好的example项目中随便复制一份lib目录过来

把example中的Lib文件全部照抄过来

5.c/c++-》预处理器,预处理器定义照抄example中的配置

6.c/c++代码生成-》运行库,选择多线程MT

7.QT Creator添加按钮和槽,添加open3d代码运行看效果,我这里用的圆球

附上我所使用的的测试代码,终于运行成功。

#include "Restructure.h"
#include"open3d/Open3D.h"
using namespace open3d;
Restructure::Restructure(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
}

Restructure::~Restructure()
{}

void Restructure::on_pushButton_clicked()
{
      auto sphere = open3d::geometry::TriangleMesh::CreateSphere(1.0);
      sphere->ComputeVertexNormals();
      sphere->PaintUniformColor({ 0.0, 1.0, 0.0 });
      open3d::visualization::DrawGeometries({ sphere });
      return ;
}

### 回答1: Open3D是一个用于3D数据处理的开源库,它能够提供多种功能,如点云处理、三维重建、几何形状处理等。而Qt是一款流行的跨平台图形用户界面开发框架,可以用于开发各种应用程序。 Open3D可以与Qt框架结合使用,以在Qt应用程序中展示和处理3D数据。通过将Open3D集成到Qt中,我们可以使用Open3D提供的功能来加载、显示和处理3D模型、点云等数据。 在Qt中使用Open3D的步骤通常包括以下几个方面: 1. 安装Open3D库:需要在Qt项目中添加Open3D库的引用,并配置好所需的依赖项。 2. 创建Open3D窗口:在Qt界面中创建一个用于显示3D数据的窗口或面板,可使用Qt提供的OpenGL功能,或者使用Qt的QML技术来创建3D控件。 3. 加载和显示3D数据:使用Open3D提供的API加载3D数据文件,如点云文件、模型文件等,并将其显示在Qt窗口中。 4. 数据处理和交互:利用Open3D的功能进行3D数据处理,如滤波、配准、分割等。同时,使用Qt的事件处理机制来实现与用户的交互,如选择、操作等。 5. 结果展示:通过Qt的界面元素,在Open3D窗口中显示处理后的数据结果,如显示处理后的点云、渲染模型等。 总之,通过在Qt应用程序中使用Open3D库,我们可以轻松地进行3D数据的加载、显示、处理和交互。这种结合可以帮助开发者更方便地开发出功能丰富的3D应用程序,如三维模型编辑器、点云处理工具等。 ### 回答2: Open3D是一个用于处理三维数据的开源库,它提供了一系列的算法和工具,能够方便地进行三维数据的可视化、重建、分割、配准等操作。Qt是一个跨平台的图形用户界面开发框架,它提供了丰富的界面元素和功能,可以用来开发各种类型的应用程序。 在Qt上使用Open3D可以带来很多好处。首先,QtOpen3D都是跨平台的,可以在Windows、Linux和macOS等操作系统上使用。这意味着我们可以轻松地将Open3D集成到Qt应用程序中,而不必担心使用不同平台时的兼容性问题。 其次,Open3D提供了一些便捷的接口和工具,可以方便地与Qt进行集成。比如,Open3D提供了一个类似OpenGL的接口,可以直接在Qt窗口中显示三维数据的可视化效果。同时,Open3D还提供了一些用于与Qt交互的工具,比如事件处理器和鼠标操作等,可以方便地实现用户与三维数据进行交互。 最后,Open3DQt都具有强大的社区支持和活跃的开发者社群。这意味着我们可以在社区中找到很多有关于在Qt上使用Open3D的教程、示例和解决方案,能够帮助我们更好地开发和调试应用程序。 总之,在Qt上使用Open3D可以帮助我们更方便地处理和可视化三维数据,提高开发效率和用户体验。 ### 回答3: Open3D是一个开源的三维库,旨在用于处理三维数据。它提供了许多功能,例如点云处理、三维重建和可视化等。而Qt是一个跨平台应用程序开发框架,用于创建图形用户界面。通过将Open3D集成到Qt应用程序中,我们可以获得更好的交互性和用户体验。 在Qt中使用Open3D,首先我们需要在Qt项目中引入Open3D的库文件及头文件,以便能够使用Open3D的功能。然后,我们可以利用Open3D的点云处理功能,对点云数据进行处理和分析。例如,我们可以使用Open3D提供的滤波算法对点云进行降噪处理;使用Open3D的配准算法对多个点云进行配准;使用Open3D的表面重建算法生成三维模型等等。这些功能可以帮助我们更好地理解和操作三维数据。 此外,Open3D还提供了一套丰富的可视化工具,可以在Qt应用程序中将三维数据进行可视化展示。我们可以使用Open3D的渲染引擎将点云、模型等数据可视化成为更直观的形式,并与Qt应用程序的其他界面元素进行交互。例如,我们可以在Qt窗口中显示一个三维视图,用户可以通过鼠标和键盘进行交互,旋转、缩放和平移视图,从而更好地观察和分析三维数据。 总之,通过将Open3D集成到Qt应用程序中,我们可以充分利用Open3D的功能和Qt的优势,实现更好的三维数据处理和可视化效果,并为用户提供更好的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值