Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 完成部分网格并使其变薄_Python_Mesh_Partial_Trimesh - Fatal编程技术网

Python 完成部分网格并使其变薄

Python 完成部分网格并使其变薄,python,mesh,partial,trimesh,Python,Mesh,Partial,Trimesh,我从RealSense相机捕获点云,并使用Trimesh库将其转换为网格。问题是,我只得到一个非水密网从这个。如何“完成”网格并使其防水 我试过了 trimesh.repair.broken_faces(mesh, color=[255, 0, 0, 255]) 但这似乎没有完全起作用。我尝试创建一个凸面外壳: 并试图在两人之间建立联盟,但最终以: ipdb> mesh.union(ch,engine='scad')

我从RealSense相机捕获点云,并使用Trimesh库将其转换为网格。问题是,我只得到一个非水密网从这个。如何“完成”网格并使其防水

我试过了

trimesh.repair.broken_faces(mesh, color=[255, 0, 0, 255]) 
但这似乎没有完全起作用。我尝试创建一个凸面外壳:

并试图在两人之间建立联盟,但最终以:

ipdb> mesh.union(ch,engine='scad')                                                                                             
*** subprocess.CalledProcessError: Command '['/usr/bin/openscad', '/tmp/tmpqrdvbdd2', '-o', '/tmp/tmpvdzjmkgm.off']' returned non-zero exit status 1
ipdb> mesh.union(ch,engine='blender')                                                                                          
*** subprocess.CalledProcessError: Command '['/usr/bin/blender', '--background', '--python', '/tmp/tmp9_5phhhj']' returned non-zero exit status 127
我也会丢失源网格的RGB信息。如何使用凸面外壳完成网格,同时保留所有已知的RGB值

编辑:我把针移了一点。我查看了凸面外壳的面法线,并提取了所有指向侧面和下方的法线。我创建了一个新网格,其中包含旧网格顶点和由旧面+凸包中的新面定义的面


这让我更接近我的目标,但现在我有一堆洞,trimesh.repair.fill\u holes和meshlab的过滤器都没有给我好的结果。

trimesh.PointCloud类具有“属性”
凸面外壳

引用

返回凸面外壳–点外壳的水密网格


这是你想要的吗?

我试过了(见我的帖子)。问题是,我希望源网格所有点的所有颜色信息都传输到凸包网格。当我试图用源点和外壳面创建一个凸面外壳时,我没有成功。@trycatch22:好的,在你的帖子中,听起来好像你尝试了trimesh外部的东西来进行后期处理。别担心。