Open3D 15.1 报错 module ‘open3d‘ has no attribute ‘registration‘(跑LCD代码时报错)
最近研究LCD源码,跑例程align_point_cloud.py
因为源码用老版本Open3D库报了错
module 'open3d' has no attribute 'registration'
我的Open3D用着一直没毛病,所以大概率是版本变动了库文件路径
在Github上也有人出现了类似情况
这老哥一语中的
在较新版本的Open3D中registration被放在了pipelines下面,所以调用时要把原来的
import open3d.registration
改成
import open3d.pipelines.registration
还有在15.1的较新版本中,即使修改过后还会报错:
TypeError: registration_ransac_based_on_feature_matching(): incompatible function arguments. The following argument types are supported.
又回Github里面找到了相似的问题,Open3D那边给出了这样的回复:
这就说明函数本身的输入输出出现了变化:
open3d.pipelines.registration.registration_ransac_based_on_feature_matching(source,
target, source_feature, target_feature, mutual_filter, max_correspondence_distance,
estimation_method=TransformationEstimationPointToPoint without scaling., ransac_n=3,
checkers=[], criteria=RANSACConvergenceCriteria class with max_iteration=100000, and
confidence=9.990000e-01)
和LCD代码里面给出的参数进行比较之后发现只需要多加上一个布尔值输入Mutual Filter即可。文章来源:https://www.toymoban.com/news/detail-498275.html
在加入了一个True之后程序成功跑通。文章来源地址https://www.toymoban.com/news/detail-498275.html
到了这里,关于Open3D 15.1 报错 module ‘open3d‘ has no attribute ‘registration‘(跑LCD代码时报错)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!