我想从彩色pointcloud自动重建。我有一个meshlab脚本,通过一些阈值清除噪声,它还清除散乱的噪音。然后进行泊松重建。现在我想将颜色从pointcloud传递到新生成的泊松网格。使用meshlab GUI,顶点属性传输工作正常,但它不能与meshlabserver脚本一起使用。
这是我的meshlabscript:
<!DOCTYPE FilterScript>
<FilterScript>
<filter name="Conditional Vertex Selection">
<Param type="RichString" value="x < -1.16" name="condSelect"/>
<Param type="RichBool" value="true" name="strictSelect"/>
</filter>
<filter name="Delete Selected Vertices"/>
<filter name="Conditional Vertex Selection">
<Param type="RichString" value="y < -0.5" name="condSelect"/>
<Param type="RichBool" value="true" name="strictSelect"/>
</filter>
<filter name="Delete Selected Vertices"/>
<filter name="Conditional Vertex Selection">
<Param type="RichString" value="z > 2.3" name="condSelect"/>
<Param type="RichBool" value="true" name="strictSelect"/>
</filter>
<filter name="Delete Selected Vertices"/>
<filter name="Conditional Vertex Selection">
<Param type="RichString" value="z < 1" name="condSelect"/>
<Param type="RichBool" value="true" name="strictSelect"/>
</filter>
<filter name="Delete Selected Vertices"/>
<filter name="Estimate radius from density">
<Param type="RichInt" value="40" name="NbNeighbors"/>
</filter>
<filter name="Conditional Vertex Selection">
<Param type="RichString" value="rad > 0.012" name="condSelect"/>
<Param type="RichBool" value="true" name="strictSelect"/>
</filter>
<filter name="Delete Selected Vertices"/>
<filter name="Compute normals for point sets">
<Param type="RichInt" value="10" name="K"/>
<Param type="RichBool" value="false" name="flipFlag"/>
<Param x="0" y="0" z="0" type="RichPoint3f" name="viewPos"/>
</filter>
<filter name="Surface Reconstruction: Poisson">
<Param type="RichInt" value="8" name="OctDepth"/>
<Param type="RichInt" value="8" name="SolverDivide"/>
<Param type="RichFloat" value="1" name="SamplesPerNode"/>
<Param type="RichFloat" value="1" name="Offset"/>
</filter>
<filter name="Vertex Attribute Transfer">
<Param type="RichMesh" value="1" name="SourceMesh"/>
<Param type="RichMesh" value="0" name="TargetMesh"/>
<Param type="RichBool" value="false" name="GeomTransfer"/>
<Param type="RichBool" value="false" name="NormalTransfer"/>
<Param type="RichBool" value="true" name="ColorTransfer"/>
<Param type="RichBool" value="false" name="QualityTransfer"/>
<Param type="RichBool" value="false" name="SelectionTransfer"/>
<Param type="RichBool" value="false" name="QualityDistance"/>
<Param type="RichAbsPerc" value="0.042202" min="0" name="UpperBound" max="2.11009"/>
</filter>
</FilterScript>
如何让它运作?
答案 0 :(得分:0)
我发现了这个错误。当我遵循meshlab中的清洁和重建过程时,它起作用了。但我保存脚本并使用命令行运行,它没有工作。问题是顶点属性转移中网格的排序错误。我在脚本的顶点属性传输部分中切换了源和目标网格的值,它起作用了。