Blensor修复导出文件错误的问题

电脑软件 季若尘 2年前 (2022-06-18) 412次浏览 已收录 0个评论 扫描二维码

Blensor修复导出文件错误的问题

官网下载的 Windows 版本的 Blensor 直接导出的文件会有格式问题,用 CloudCompare 等点云可视化工具查看会出错,打开导出的 pcd 文件会发现,错误的原因就是点的数量对不上,虽然有脚本代码可以绕过这个错误,但我已掌握的代码输出不了颜色,所以还是想修复一下 Blensor 的错误。

导出文件后,在 Blensor 的控制台可以看到有报错信息

Traceback (most recent call last):
  File "D:\Install\Blensor-1.0.18-Blender-2.79-Winx64.79\scripts\addons\blensor\evd.py", line 225, in writePCLFile
    self.write_point(pcl, pcl_noisy, INVALID_POINT, self.output_labels)
  File "D:\Install\Blensor-1.0.18-Blender-2.79-Winx64.79\scripts\addons\blensor\evd.py", line 190, in write_point
    color_uint32 = (e[12]<<16) | (e[13]<<8) | (e[14])
TypeError: unsupported operand type(s) for <<: 'tuple' and 'int'

从报错信息可以看出,问题出在 evd.py 第 190 行中错误的将数组类型的数据进行了位操作。虽然知道了出错原因,没有深入研究源码,也不知道从何下手修改,于是去 Blensor 的 GitHub 评论区翻了一下,发现还真有人已经提出了解决方案:https://github.com/mgschwan/blensor/issues/30

Blensor修复导出文件错误的问题

将\Blensor-1.0.18-Blender-2.79-Winx64\2.79\scripts\addons\blensor\evd.py 中第 42 行~44 行的

INVALID_POINT = [0.0, 0.0, 0.0, float('NaN'), float('NaN'),
                 float('NaN'),float('NaN'),float('NaN'),float('NaN'),
                 float('NaN'),float('NaN'),-1,(0,0,0),-1]

修改为

INVALID_POINT = [0.0, 0.0, 0.0, float('NaN'), float('NaN'),
                 float('NaN'),float('NaN'),float('NaN'),float('NaN'),
                 float('NaN'),float('NaN'),-1,0,0,0,-1]

保存修改后,重启 Blensor 即可解决该问题


版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Blensor修复导出文件错误的问题
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址