是否可以使用 python 中的 matplotlib 绘制 HSV 色轮?我想要获得如下图所示的 HSV 色轮作为光流的参考图像。在此图像中,每种 HSV 颜色都可以表示为一个向量,其中方向以色调编码,长度以饱和度编码,以便我可以轻松地将其与光流进行比较。我在网上搜索过但找不到满意的解决方案。任何帮助将不胜感激!
我目前正在学习 open3d 来可视化点云数据。我设法使用此处介绍的非阻塞可视化实时可视化从一系列 .pcd 文件(一个文件对应一个点云)读取的一系列点云:非阻塞可视化
通过遵循文档,我能够更新“点云”类型的几何图形。这是我进行可视化的方法:
import open3d as o3d
import numpy as np
import time
geometry = o3d.geometry.PointCloud()
geometry.points = o3d.utility.Vector3dVector(pt_clouds[0])
o3d.utility.set_verbosity_level(o3d.utility.VerbosityLevel.Debug)
vis = o3d.visualization.Visualizer()
vis.create_window()
vis.add_geometry(geometry)
for pt_cloud in pt_clouds: #pt_clouds are the point cloud data from several .pcf files
geometry.points = o3d.utility.Vector3dVector(pt_cloud)
vis.update_geometry(geometry)
vis.poll_events()
vis.update_renderer()
time.sleep(1 / 20)
vis.destroy_window()
Run Code Online (Sandbox Code Playgroud)
然而,除了点云之外,我还有一组由中心坐标 [cx,cy,cz] 给出的每个点云的边界框,绕 z 轴“rot_z”的旋转和边界的 [长度,宽度,高度]盒子。我想找到一种方法来渲染边界框和点云,并在每一帧更新它们(对于每一帧,有一个点云+要渲染的不同数量的边界框,并且最后一帧的旧渲染需要被清除和更新)。
有没有办法做到这一点?如果 open3d 不能做到这一点,那么在 python 中执行此操作的常用方法/库是什么?
任何建议将不胜感激,提前致谢!