日期:2021/12/30
报错
将采集的点云进行预处理之后,输入到程序中,并没有得到理想的结果,相反,出现了如下报错:
修改方案
Readme精读
在readme.md中有这样一段话:
3. The radius parameter R of the deformation graph is set R=5l
(paras.uni_sample_radio = 5
in main.cpp
) by default. If you want to reduce the number of graph nodes, increase this value, otherwise, reduce it. When the vertices in the source model are not very uniform and the sampling radius is small, some graph nodes are not covered by any mesh vertices, and it will cause the error “Some points cannot be covered under the specified radius, please increase the radius”. It can be solved by increasing the sampling radius(paras.uni_sample_radio
). It is worth noting that the input source model must have no isolated points.
中文释义:
3.变形图的半径参数R默认设置成R=5l
(paras.uni_sample_radio = 5
in main.cpp
) 。如果你想要减少图节点的数目,增加这个值,否则,减小它。当源模型中的顶点不是非常均匀并且采样半径很小,一些图节点不能被任何网格节点覆盖,此时它将会产生错误: Some points cannot be covered under the specified radius, please increase the radius。这个错误可以通过增加采样半径(paras.uni_sample_radio
)来解决。值得注意的是,输入源模型必须没有孤立点。
原因分析
通过上面的说明可以看出,出现错误(Some points cannot be covered under the specified radius, please increase the radius.)的原因有两个:
一是源模型中的顶点不是非常均匀;
二是采样半径很小;
解决方案
(1)重新处理采集的点云,保留更多的点,使用均匀降采样;
(2)增大采样半径;
感悟
又又又一次体会到了偷懒是最大的浪费时间,readme.md读到一半,测试案例跑通了,自以为已经掌握了这个readme.md的精髓,而且,后半部分英文单词真的好多啊,写在后面的应该不是很重要吧,不读了不读了。然而,想不到吧,后半部分才是最重要的,前面看懂了是编译、生成可执行文件以及跑通测试案例,后面看懂了才能在自己采集的点云上获得比较好的测试结果,年轻人,我辛辛苦苦码这么多字,你以为我玩呢!不要偷懒,偷懒才是最大的浪费时间,共勉!