• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Open3D 15.1 报错 module ‘open3d‘ has no attribute ‘registration‘跑LCD代码时报错

武飞扬头像
ESRSchao
帮助1

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即可。

学新通
在加入了一个True之后程序成功跑通。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgffiab
系列文章
更多 icon
同类精品
更多 icon
继续加载