首页 > 编程问答 >Open3d Create_from_cloud_alpha_shape 错误:无效的 unordered_map

Open3d Create_from_cloud_alpha_shape 错误:无效的 unordered_map

时间:2024-08-08 15:49:44浏览次数:14  
标签:python pycharm open3d

我在 open3d 中的 create_from_point_cloud_alpha_shape 方面遇到问题。 这是我的代码。

import open3d as o3d
import numpy as np

mesh = o3d.io.read_triangle_mesh('Bunny.stl')

print(mesh)

pcd = mesh.sample_points_poisson_disk(750)
alpha = 0.3


mesh = o3d.geometry.TriangleMesh.create_from_point_cloud_alpha_shape(pcd, alpha)
mesh.compute_vertex_normals()


o3d.visualization.draw_geometries([mesh], mesh_show_back_face=True)

这是错误消息。

mesh = o3d.geometry.TriangleMesh.create_from_point_cloud_alpha_shape(pcd, alpha)
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

IndexError: invalid unordered_map<K, T> key。

我不知道问题是什么。我检查了stl文件和pcd数据,没有问题。 请..

检查 stl 文件 检查pcd数据 尝试不同的 alpha 值


IndexError: invalid unordered_map<K, T> key 错误消息通常表明 Open3D 代码库中存在问题,而不是的代码或数据的问题。这种特殊的错误通常与 Open3D 中的 Alpha 形状构建算法的特定版本和某些数据集有关。

可以尝试以下几种解决方案:

  1. 更新 Open3D: 确保使用的是最新版本的 Open3D。较新版本通常包含错误修复和改进。可以使用以下命令更新 Open3D:

bash pip install --upgrade open3d

  1. 尝试不同的 Alpha 值: 如所述,已经尝试过这一点。但是,值得尝试更广泛的值范围,例如从较小的值(例如 0.05)开始,然后逐渐增加,看看是否可以成功创建网格。

  2. 简化网格: 如果更新 Open3D 或更改 Alpha 值不起作用,则可以尝试简化网格。这可以通过减少构成网格的三角形数量来实现。可以使用 Open3D 中的 simplify_quadric_decimation 方法来做到这一点。

python simplified_mesh = mesh.simplify_quadric_decimation(target_number_of_triangles=500) mesh = o3d.geometry.TriangleMesh.create_from_point_cloud_alpha_shape(simplified_mesh.sample_points_poisson_disk(750), alpha)

  1. 使用其他表面重建方法: 如果 Alpha 形状方法仍然不起作用,则可以尝试使用 Open3D 中的其他表面重建方法,例如泊松表面重建:

python pcd.estimate_normals() mesh, densities = o3d.geometry.TriangleMesh.create_from_point_cloud_poisson(pcd, depth=8)

  1. 报告问题: 如果尝试了所有这些解决方案并且仍然遇到错误,则可以在 Open3D GitHub 存储库中报告问题:https://github.com/isl-org/Open3D/issues

请确保在的问题报告中包含以下信息:

  • 使用的 Open3D 版本
  • 的操作系统
  • 重现该问题的代码段
  • 如果可能,请提供示例数据集

这将帮助 Open3D 开发人员更快地识别和解决问题。

标签:python,pycharm,open3d
From: 78847134

相关文章

  • 21.python函数(return)
    return一、return语句1、return是指定一个返回值2、在python中创建一个函数,可以用return语句指定返回的的值,这个返回值可以是任意的类型3、return语句在同一个函数中可以出现多次,但是只有有一个得到执行,就会直接结束函数的执行。return后面的语句不执行了4、return的格式re......
  • 【Python代码】如何根据出生日期计算出年龄?
    哈喽,大家好,木易巷来啦!假设我们有一个包含出生日期的Excel文件,需要计算每个人的年龄,你会怎么做呢?具体情况如下图:今天木易巷分享通过Python及其强大的pandas库,来实现从Excel文件中读取日期数据,计算年龄,并将结果存储回Excel文件中的过程。话不多说,开干!▍1、环境准备在开......
  • python 无法解密重音字符(如 è),我该怎么办?
    我正在解决这个ctf,您必须使用PyCryptodome模块通过DES加密消息。消息是“Launghezzadiquestafrasenonèdivisibileper8”(意大利语)。我无法将此消息转换为字节,因为重音字符不包含在utf-8中(我认为这就是解释)。有人可以帮我加密消息吗?fromCrypto.Util.Paddingimp......
  • Python笔记
    Python1变量1、什么是变量变量是关联一个对象的标识符变量可以绑定一个对象,并可以通过变量名使用这个对象2、变量的命名方法:以字母或下划线开头,后面跟字母、下划线或者数字3、python中的关键字不能用作变量名4、变量无类型,对象有类型5、在交互模式下查看当前作用域内的......
  • 如何在python中使用jdbc jar文件连接informix数据库
    有什么想法如何使用jdbcjar文件连接到informix数据库吗?在python我尝试了jaydebeapi,当我执行时:conn=jaydebeapi.connect('com.informix.jdbc.IfxDriver',myurl,['user','pass'],jdbc_driver_path)...然后从表中选择数据的其余代码当我执行myscript.py它只......
  • Python爬虫实战:实时微信推送奥运奖牌榜信息
    最近奥运会正在巴黎如火如荼地进行。为了能第一时间获得我国运动健儿的获奖情况,我给大家分享一个python爬虫项目——实时微信推送奥运奖牌榜信息。爬虫每隔5分钟抓取一次奥林匹克官网奖牌榜数据,对比上次抓取的数据,如果奖牌数量或者排名有变化,就将新的获奖信息推送到......
  • 基于Python实现可视化分析中国500强排行榜数据的设计与实现
    基于Python实现可视化分析中国500强排行榜数据的设计与实现“DesignandImplementationofVisualAnalysisforChina’sTop500CompaniesRankingDatausingPython”完整下载链接:基于Python实现可视化分析中国500强排行榜数据的设计与实现文章目录基于Python......
  • python使用selenium和PyPDF2保存多个html页面为pdf
    检索资料时看到比较完备的资料,想着要把所有页面保存下来。正好使用下requests和BeautifulSoup库获取和解析所有的静态页,把静态页保存为单个pdf文件,然后再把所有的pdf文件合并起来生成1个PDF文档。本来想使用python子进程调用wkhtmltopdf工具把静态页生成为单个pdf,然而如此一来pdf......
  • Python编码规范常用技巧
    Python编码规范常用技巧开场白:Python编码规范的艺术从一团乱麻到井然有序:我的Python代码进化史PEP8:Python编码规范的圣经为什么遵循编码规范如此重要命名约定:给你的代码起个好名字变量名:不只是标识符那么简单函数命名:让意图一目了然类与方法:面向对象的命名艺术代码结......
  • Python实现游戏中的音效制作与环境声音设计
    Python实现游戏中的音效制作与环境声音设计开场白:让声音活起来——游戏音频的魅力为什么游戏中的声音如此重要?个人体验分享:那些让人难忘的游戏音效Python在音频处理中的应用概览基础篇:Python环境搭建与音频库介绍快速入门:安装Python及必备音频处理库库推荐:pydub、soundf......