如何在vtk中以不同的颜色显示点云?

2023-11-24

我有一个点云,我想在 vtk 中可视化。我想根据某些条件看到它们具有不同的颜色。我正在使用Python。

关于如何做到这一点有什么建议吗?

多谢


下面是一个根据 z 轴值设置点颜色的示例。

import vtk
from numpy import random

class VtkPointCloud:

    def __init__(self, zMin=-10.0, zMax=10.0, maxNumPoints=1e6):
        self.maxNumPoints = maxNumPoints
        self.vtkPolyData = vtk.vtkPolyData()
        self.clearPoints()
        mapper = vtk.vtkPolyDataMapper()
        mapper.SetInputData(self.vtkPolyData)
        mapper.SetColorModeToDefault()
        mapper.SetScalarRange(zMin, zMax)
        mapper.SetScalarVisibility(1)
        self.vtkActor = vtk.vtkActor()
        self.vtkActor.SetMapper(mapper)

    def addPoint(self, point):
        if self.vtkPoints.GetNumberOfPoints() < self.maxNumPoints:
            pointId = self.vtkPoints.InsertNextPoint(point[:])
            self.vtkDepth.InsertNextValue(point[2])
            self.vtkCells.InsertNextCell(1)
            self.vtkCells.InsertCellPoint(pointId)
        else:
            r = random.randint(0, self.maxNumPoints)
            self.vtkPoints.SetPoint(r, point[:])
        self.vtkCells.Modified()
        self.vtkPoints.Modified()
        self.vtkDepth.Modified()

    def clearPoints(self):
        self.vtkPoints = vtk.vtkPoints()
        self.vtkCells = vtk.vtkCellArray()
        self.vtkDepth = vtk.vtkDoubleArray()
        self.vtkDepth.SetName('DepthArray')
        self.vtkPolyData.SetPoints(self.vtkPoints)
        self.vtkPolyData.SetVerts(self.vtkCells)
        self.vtkPolyData.GetPointData().SetScalars(self.vtkDepth)
        self.vtkPolyData.GetPointData().SetActiveScalars('DepthArray')

pointCloud = VtkPointCloud()
for k in xrange(1000):
    point = 20*(random.rand(3)-0.5)
    pointCloud.addPoint(point)
pointCloud.addPoint([0,0,0])
pointCloud.addPoint([0,0,0])
pointCloud.addPoint([0,0,0])
pointCloud.addPoint([0,0,0])

# Renderer
renderer = vtk.vtkRenderer()
renderer.AddActor(pointCloud.vtkActor)
renderer.SetBackground(.2, .3, .4)
renderer.ResetCamera()

# Render Window
renderWindow = vtk.vtkRenderWindow()
renderWindow.AddRenderer(renderer)

# Interactor
renderWindowInteractor = vtk.vtkRenderWindowInteractor()
renderWindowInteractor.SetRenderWindow(renderWindow)

# Begin Interaction
renderWindow.Render()
renderWindowInteractor.Start()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在vtk中以不同的颜色显示点云? 的相关文章

  • 如何计算 pandas datetime 对象的均值和方差?

    如何计算 YYYY MM DD 形式的 python 日期时间对象的汇总统计数据 均值和标准差 我想对具有不同 ID 的不同日期时间对象组执行此操作 数据如下 import datetime as dt df pd DataFrame Da
  • Python - 比较同一字典中的值

    我有一本字典 d Trump MAGA FollowTheMoney Clinton dems Clinton Stein FollowTheMoney Atlanta 我想删除字符串列表中的重复字符串 该字符串是键的值 对于这个例子 期望
  • 如何在 __init__ 中使用await设置类属性

    我如何定义一个类await在构造函数或类体中 例如我想要的 import asyncio some code class Foo object async def init self settings self settings setti
  • matplotlib 图中点的标签

    所以这是一个关于已发布的解决方案的问题 我试图在我拥有的 matplotlib 散点图中的点上放置一些数据标签 我试图在这里模仿解决方案 是否有与 MATLAB 的 datacursormode 等效的 matplotlib https s
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • MongoEngine 查询具有以列表中指定的前缀开头的属性的对象的列表

    我需要在 Mongo 数据库中查询具有以列表中任何前缀开头的特定属性的元素 现在我有一段这样的代码 query mymodel terms term in query terms 并且这会匹配在列表 term 上有一个项目的对象 该列表中的
  • 打印包含字符串和其他 2 个变量的变量

    var a 8 var b 3 var c hello my name is var a and var b bye print var c 当我运行程序时 var c 会像这样打印出来 hello my name is 8 and 3 b
  • 如何将特定范围内的标量添加到 numpy 数组?

    有没有一种更简单 更节省内存的方法可以单独在 numpy 中执行以下操作 import numpy as np ar np array a l r ar c a a 0 l ar tolist a r 它可能看起来很原始 但它涉及获取给定数
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • Django 视图中的“请求”是什么

    在 Django 第一个应用程序的 Django 教程中 我们有 from django http import HttpResponse def index request return HttpResponse Hello world
  • Django REST Framework - CurrentUserDefault 使用

    我正在尝试使用CurrentUserDefault一个序列化器的类 user serializers HiddenField default serializers CurrentUserDefault 文档说 为了使用它 请求 必须作为
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • 如何使用 Boto3 启动具有 IAM 角色的 EC2 实例?

    我无法弄清楚如何使用指定的 IAM 角色在 Boto3 中启动 EC2 实例 以下是迄今为止我如何成功创建实例的一些示例代码 import boto3 ec2 boto3 resource ec2 region name us west 2
  • 如何将 Django 中的权限添加到模型并使用 shell 进行测试

    我在模型中添加了 Meta 类并同步了数据库 然后在 shell 中创建了一个对象 它返回 false 所以我真的无法理解错误在哪里或者缺少什么是否在其他文件中可能存在某种配置 class Employer User Employer in
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或

随机推荐

  • strtotime 日期奇怪的结果

    给定以下字符串日期 Fri Sep 02 2011 21 00 00 GMT 0100 GMT Daylight Time 在 php 中 如果我在上面执行 strtotime 然后将其转换回字符串日期 似乎会增加一个小时 echo str
  • C# - 将数字附加到正在保存的文件中

    我已经创建了一个屏幕截图程序 一切运行良好 唯一的问题是 我不知道如何才能做到这一点 以便屏幕截图以附加数字的形式保存 例如 屏幕截图 1 屏幕截图 2 屏幕截图 3 屏幕截图 4 等 显然这可以应用于正在保存的其他文件 有任何想法吗 谢谢
  • Oracle存储过程中字符串缓冲区太小错误

    我在 Oracle 11g 存储过程中遇到错误 错误是 ORA 06502 PL SQL numeric or value error character string buffer too small 它发生在第 31 行 该行包含out
  • Python Pandas 并排绘制两个 BARH

    I am trying to make a plot that is similar like this 左侧图表 带图例的图 源自df 2 右侧图表源自df 1 但是 我无法使两个图并排共享 y 轴 这是我目前的绘图方式 df 1 tar
  • 数学“pow”函数 gcc 的 SSE 向量化

    我试图对包含数学库中 pow 函数的使用的循环进行矢量化 我知道英特尔编译器支持对 sse 指令使用 pow 但我似乎无法让它与 gcc 一起运行 我认为 这是我正在处理的情况 int main int i 0 float a 256 b
  • 使用 XmlSerializer 反序列化 XML 时保留仅包含空格的元素内容

    我有课InputConfig其中包含一个List
  • 在系统调用期间捕获/阻止 SIGINT

    我编写了一个网络爬虫 我希望能够通过键盘停止它 我不希望程序在我中断它时死掉 它需要首先将数据刷新到磁盘 我也不想抓KeyboardInterruptedException 因为持久数据可能处于不一致的状态 我当前的解决方案是定义一个信号处
  • 通过电子邮件发送 Gitlab-CI 工件

    我们的 Gitlab 管道生成一些性能图表 我希望通过电子邮件将其发送给每个团队成员 到目前为止 它们被标记为工件 因此 Gitlab 保留它们 Gitlab 有什么办法可以实现这一点吗 或者我应该在工作脚本中执行此操作 目前无法从 git
  • Linux中这个$PATH是什么以及如何修改

    我对 Linux 中的 PATH 有几个问题 我知道它告诉 shell 在哪些目录中搜索可执行文件 所以 环境变量是什么意思 如何改变它的路径 是否建议更改 如果我改变它会有什么后果 让你的路径成为当前路径 PATH变量类型为 echo P
  • 为什么 numpy.random 和 multiprocessing 不能很好地发挥作用? [复制]

    这个问题在这里已经有答案了 我有一个随机游走函数 它使用numpy random执行随机步骤 功能walk本身就可以正常工作 同时 它在大多数情况下按预期工作 但是与multiprocessing 它失败 为什么multiprocessin
  • 如何在 SAPUI5 XML 视图中使用 if-else 条件?

    如何在 SAPUI5 的 XML 视图中实现 if else 条件 该条件使用来自JSONModel 到目前为止我有一个控制器 sap ui define sap ui core mvc Controller sap ui model js
  • 之前有效的 Microsoft Graph 请求出现 InefficientFilter 错误

    向 MS Graph 发出以下请求以检索按到期日期排序的标记消息 https graph microsoft com beta me messages filter flag flagStatus 20eq 20 27flagged 27
  • 串行数据的二进制通信协议解析器设计

    我正在重新审视字节流 串行数据 一次接收 1 个字节 的通信协议解析器设计 数据包结构 无法更改 为 Start Delimiter 1 byte Message ID 1 byte Length 1 byte Payload n byte
  • 在 Mac OS X 上测试 IE6

    我希望能够在 Mac OS X 上全面测试我的网页的兼容性 我已经安装了 Parallels Desktop 它工作正常 但它使用大量资源 所以我希望能够测试 OS X 内的所有内容 事实上 我正在寻找适用于 Mac 的 Explorer
  • 有条件地在 Android 清单文件中包含元数据

    有没有办法有条件地包含meta dataAndroid 清单文件中的元素基于 Gradle 中设置的值 我能够执行以下操作 使用resValue to set
  • 如何将变量从 Python 传递到 VBA Sub

    我试图从我的 Python 代码调用 VBA 子程序 将指定文件夹中的所有 excel 文件从 xls 转换为 xlsm 格式 当我不在 VBA 中使用变量时 我可以使用以下代码 并且效果很好 Python代码 import os impo
  • OSX 上的 Mono:找不到 gtksharpglue-2.dll

    我正在尝试在 C 中完成我的第一步 并希望构建一个空的 GTK 窗口作为我的第一个任务 通过macports我安装了以下软件包 电子邮件受保护 电子邮件受保护 电子邮件受保护 我还使用 Mono 主页上的 MonoDevelop I add
  • “CSS 256 类覆盖一个 ID”背后的规则是什么?

    我最近也遇到过这种情况 但找不到 为什么 谁能解释一下吗 请参阅下面的示例 http codepen io chriscoyier pen lzjqh 发生这种情况是由于浏览器限制 而不是规范或浏览器实现方式中的错误 The spec sa
  • 单击标签时 jQuery Click 会触发两次

    我正在使用 jQuery 创建自定义单选按钮 但遇到了问题 当单击与无线电关联的标签时 单击事件会触发两次 如果我仅单击无线电本身 它工作正常 实际上 我单击的不是无线电 而是包装整个输入和标签的 div 这是代码 HTML div div
  • 如何在vtk中以不同的颜色显示点云?

    我有一个点云 我想在 vtk 中可视化 我想根据某些条件看到它们具有不同的颜色 我正在使用Python 关于如何做到这一点有什么建议吗 多谢 下面是一个根据 z 轴值设置点颜色的示例 import vtk from numpy import