pcl+vtk
文章平均质量分 75
做一个坚强的女汉子
这个作者很懒,什么都没留下…
展开
-
pcl+vtk(十六)vtkInteractorStyleTrackballCamera选中渲染器中的演员actor
上一篇文章介绍过vtkInteractorStyleTrackballCamera的使用,可以通过重写vtkInteractorStyleTrackballCamera类,重写鼠标坐及左键按下事件void OnLeftButtonDown() override来获取选中的演员actor。如果想在渲染器中选中一个演员actor,该怎么拿到选中的演员actor呢?widget.cpp中主要代码。原创 2024-03-12 18:21:07 · 420 阅读 · 0 评论 -
pcl+vtk(十五)vtkInteractorStyleTrackballCamera用户交互
vtkInteractorStyleTrackballCamera控制用户交互操作相机,场景的视点。在该类及其子类中,移动的是Camera,Actor并没有发生移动。主要鼠标键盘操作控制:左键按住移动:旋转右键按住移动:缩放滚轮按住移动:移动ctrl +左键按住移动:快速旋转(同旋转不同)shift +左键按住移动:移动ctrl + shift +左键按住移动:缩放。原创 2024-02-05 15:23:42 · 626 阅读 · 0 评论 -
pcl+vtk(十四)vtkCamera相机简单介绍
人眼相当于三维场景下的相机, VTK是用vtkCamera类来表示三维渲染场景中的相机。vtkCamera负责把三维场景投影到二维平面,如屏幕、图像等。:即相机所在的位置,用方法vtkCamera::SetPosition()设置。:用方法vtkCamera::SetFocusPoint()设置,默认的焦点位置在世界坐标系的原点。:即哪个方向为相机朝上的方向。就好比我们直立看东西,方向为头朝上,看到的东西也是直立的,如果我们倒立看某个东西,这时方向为头朝下,看到的东西当然就是倒立的。原创 2024-01-25 12:18:53 · 1429 阅读 · 0 评论 -
pcl+vtk(十三)mesh模型的加载显示
Mesh模型是一种用于描述三维物体表面的数学表示方法。它由一系列顶点(vertices)和连接这些顶点的线段或面片(faces)组成。每个顶点具有其在三维空间中的坐标位置,而每个面片则由一组顶点索引构成,定义了一个平面。在Mesh模型中,可以使用不同的数据结构来表示顶点和面片之间的关系,常见的包括三角形网格(triangle mesh)和四边形网格(quadrilateral mesh)三角形网格是最常用的一种,它由三个顶点和一个法线向量(用于确定面片的朝向)组成。四边形网格则由四个顶点和一个法线向量构成。原创 2024-01-24 15:40:28 · 737 阅读 · 0 评论 -
pcl+vtk(十二)使用vtkPolyData创建点、线、面(不规则面)、三角带
vtkPlaneSource创建平面,只可以创建平行四边形的平面,根据一个起点和两个终点创建法向量创建平面。但是当有创建多个点围成不规则平面的需求时,该怎么创建显示呢?在网上查了资料,可以使用vtkPolyData拓扑结构。原创 2023-11-25 15:11:45 · 899 阅读 · 0 评论 -
pcl+vtk(十一)智能指针 vtkSmartPointer
每个对象中都会维护一个引用计数的变量,用来表示当前对象被多少对象引用。当对象被另一个对象引用时,引用计数加1;当另一个对象取消对该对象的引用或者另一个对象被移除时,引用计数减1。如果对象的引用计数减为0时,程序会自动析构这个对象。在VTK中使用智能指针用类vtkSmartPointer来定义对象。原创 2023-11-17 10:53:52 · 401 阅读 · 0 评论 -
pcl+vtk(十)八叉树可视化显示
八叉树(Octree)是一种空间划分结构,是一种二叉树的扩展,每个节点可以最多有8个子节点。二、八叉树在VTK中的使用1.直接加载ply文件显示八叉树2.根据点云数据显示八叉树原创 2023-11-14 12:16:26 · 312 阅读 · 0 评论 -
pcl+vtk(九)QVTKOpenGLNativeWidget同时显示点云和模型
【代码】(九)QVTKOpenGLNativeWidget同时显示点云和模型。vtkUnsignedCharArray显示pcd文件中rgb颜色信息。加载obj和stl文件形式模型。原创 2023-10-24 11:52:29 · 1499 阅读 · 2 评论 -
pcl+vtk(八)vtk常用类的常用函数介绍(附带代码示例)
vtk中类的说明以及函数使用。vtkPoints、vtkCellArray、vtkSphereSource、vtkConeSource、vtkCylinderSourcev、tkCubeSource、vtkPlaneSource、vtkLineSource、vtkDiskSource、vtkPointSource、vtkTextSource、vtkArrowSource、vtkPolyData原创 2023-10-20 18:26:18 · 916 阅读 · 0 评论 -
pcl+vtk(七)QVTKOpenGLNativeWidget中显示坐标轴
设置坐标系的原点位置设置坐标轴的总长度设置坐标轴的轴身类型(int type)0:柱状轴身1:线性轴身如果类型为0:SetCylinderRadius(double):设置柱状轴半径设置坐标轴的轴顶部类型0:圆锥体1:球体如果类型为0:SetConeResolution(double);设置锥面数设置锥半径如果类型为1:SetSphereResolution(double);设置球面数设置球半径是否显示标签设置轴标签。原创 2023-10-20 15:34:46 · 1233 阅读 · 6 评论 -
pcl+vtk(六)vtk简单介绍、渲染流程、简单示例
Vtk(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。原创 2023-10-19 16:04:28 · 844 阅读 · 0 评论 -
pcl+vtk(五)PCLVisualizer显示点云的深层用法
PointCloudColorHandlerGenericField将不同的深度值显示为不同的颜色,实现以颜色区分深度的目的;PointCloudColorHandlerCustom将点云作为整体并统一着色,PointCloudColorHandlerGenericField将点云按深度值(“x”、“y”、"z"均可)的差异着以不同的颜色。PointCloudColorHandlerRGBField得到每个点云对应的颜色。文章的基础上,修改按钮对应的槽函数中的程序。自定义点云颜色,利用。原创 2023-10-17 18:30:25 · 434 阅读 · 0 评论 -
pcl+vtk(四)pcd和ply方式存储点云简单介绍,以及ply格式转换为pcd格式点云方法
一个pcd文件中通常由两部分组成:文件说明和点云数据。读取pcd文件中的rgb信息时,报错Failed to find match for field 'rgb' 原因有两个:一是读取的pcd文件中没有rgb数据。二是pcl的版本与文件中存储的rgb数据格式不一致。原创 2023-10-17 15:26:18 · 802 阅读 · 0 评论 -
pcl+vtk(三)QT中使用QVTKOpenGLNativeWidget的简单教程以及案例,利用PCLVisualizer显示点云
先添加一个带有ui的QT应用程序。然后将QOpenGLWidget控件提升为QVTKOpenGLNativeWidget控件,步骤如下:原创 2023-10-17 14:22:18 · 5212 阅读 · 7 评论 -
pcl+vtk(二)Ubuntu18.04下载安装基于使用QT的pcl1.13+vtk8.2,以及卸载
Ubuntu18.04下载安装基于使用QT的pcl1.13+vtk8.2,以及卸载QVTKWidget:目前了解到的只可显示点云,没有在网上找到显示模型的例子。QVTKOpenGLNativeWidget:既可显示点云又可显示模型。原创 2023-10-11 18:06:46 · 2052 阅读 · 10 评论 -
pcl+vtk(一)Ubuntu18.04中QT安装下载安装pcl和vtk以及使用过程中踩过的坑
之前从来没有接触过QT中显示3D点云方面的知识,了解到可以用pcl,然后在网上各种找pcl下载的相关内容,想要在QT中显示出来,需要用到VTK,又开始找VTK的下载的相关内容。网上大多数推荐的pcl1.9+vtk7.1,用QVTKWidget这个控件来显示,然后找了篇文章跟着流程进行下载。但是!!!后来知道,不只要显示点云,还要显示模型。查找资料之后发现QVTKWidget这个控件不能显示模型,需要用QVTKOpenGLNativeWidget,刺激的来了,vtk8.2版本之后才有这个控件。原创 2023-10-11 14:15:40 · 854 阅读 · 0 评论