【发布时间】:2020-07-09 15:04:36
【问题描述】:
我尝试对我的 stl 文件应用 laplacien 平滑过滤器。
在 Meshlab 中,菜单 Filter/Smoothing 下有 Laplacien 平滑选项,效果很好。
它来自 filter_unsharp dll。我搜索但找不到任何可用于 C# 或任何代码示例的源代码。
是否可以在c#应用程序中使用dll的应用过滤功能?
我尝试添加作为参考,但它说这是不可能的。
有什么办法吗?
谢谢。
【问题讨论】:
我尝试对我的 stl 文件应用 laplacien 平滑过滤器。
在 Meshlab 中,菜单 Filter/Smoothing 下有 Laplacien 平滑选项,效果很好。
它来自 filter_unsharp dll。我搜索但找不到任何可用于 C# 或任何代码示例的源代码。
是否可以在c#应用程序中使用dll的应用过滤功能?
我尝试添加作为参考,但它说这是不可能的。
有什么办法吗?
谢谢。
【问题讨论】:
我终于找到了答案。 在Meshlab的安装文件夹中有meshlabserver.exe,我们可以通过命令行使用。
例如,要应用拉普拉斯平滑,命令行代码是
MeshlabInstallationFolderPath\meshlabserver -i C:\Users\my_user\Source\left.stl -o C:\Users\my_user\smoothed.stl -s LaplacianFilter.mlx
以及 LaplacianFilter.mlx 文件的内容:
<FilterScript>
<filter name="Laplacian Smooth">
<Param name="stepSmoothNum" tooltip="" description="" isxmlparam="0" value="3" type="RichInt"/>
<Param name="selection" tooltip="" description="" isxmlparam="0" value="false" type="RichBool"/>
<Param name="boundarySmooth" tooltip="" description="" isxmlparam="0" value="true" type="RichBool"/>
<Param name="cotangentWeight" tooltip="" description="" isxmlparam="0" value="true" type="RichBool"/>
</filter>
</FilterScript>
它打开源文件,应用拉普拉斯滤波器并保存平滑文件。
【讨论】: