点云技术相关产学研社区

 找回密码
 立即注册加入PCL中国点云技术相关产学研社区

扫一扫,访问微社区

查看: 11738|回复: 9

NDT配准例子遇到Vector下标越界错误

[复制链接]
发表于 2013-7-1 22:13:20 | 显示全部楼层 |阅读模式
PCL1.7 库的源码下载的是SVN上的revision 8781版本。

我在运行官方的NDT教程上的例子(http://www.pointclouds.org/documentation/tutorials/normal_distributions_transform.php#normal-distributions-transform)时。
程序可以正常编译通过。但运行到67行,即ndt.align (*output_cloud, init_guess);时会报Vector下标越界错误:

错误信息为:

ProgramL:...normal_tributions_transform\Debug\normal_tributions_transform.exe
File: D:\Program Files\Microsoft Visual Studio 10.0\VC\include\vector
Line:932

Expression:vector subscript out of range

这个例子在XP和Win7下运行都运行到这里报错。VS版本为2010。

我Google了下,看见也有别人遇到这样的问题,比如这个帖子:http://www.pcl-users.org/Normal-Distributions-Transform-issues-td4022576.html
不知道是不是PCL源码下载的版本不对?

求各位前辈指教。非常感谢!


回复

使用道具 举报

发表于 2013-7-2 08:50:20 | 显示全部楼层
咱论坛上有个相关的讨论帖,iunknown好像说这个在git的源码中已经被打相应的补丁了。你试一试git的源码。svn最新的版本好久没更新了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-4 07:33:05 | 显示全部楼层
mypcl 发表于 2013-7-2 08:50
咱论坛上有个相关的讨论帖,iunknown好像说这个在git的源码中已经被打相应的补丁了。你试一试git的源码。sv ...

谢谢你的回复和帮助。

我从GitHub上下载了最新的源码,但是还是出现问题。
依然是在ndt.align那里出现的问题,现在的问题是程序运行到那里,就不动了,也不报错,也不继续往下执行。不知道各位前辈是否遇到过这样的问题。能否给我提供些指导。

另外我把从SVN上下载的代码又编译成release版本后,程序可以正常跑通。但我需要一个debug版的程序。

谢谢各位前辈的帮助。
回复 支持 反对

使用道具 举报

发表于 2013-7-4 18:58:17 | 显示全部楼层
mypcl 发表于 2013-7-2 08:50
咱论坛上有个相关的讨论帖,iunknown好像说这个在git的源码中已经被打相应的补丁了。你试一试git的源码。sv ...

你好  还可以找到论坛上的关于下标越界的这个帖子吗?我以前也见过,但是现在找不到了 谢谢
回复 支持 反对

使用道具 举报

发表于 2013-7-4 19:08:37 | 显示全部楼层
你好 这个问题你解决了嘛?我也遇到了这个问题?谢谢您的帮助
回复 支持 反对

使用道具 举报

发表于 2013-12-13 09:23:03 | 显示全部楼层
同样寻求帮助,我是官方的数据没有问题,自己的数据报错了!
回复 支持 反对

使用道具 举报

发表于 2015-3-16 13:42:31 | 显示全部楼层
楼主的问题最后是如何解决的?貌似越界错误很普遍呀
回复 支持 反对

使用道具 举报

发表于 2015-4-12 23:26:03 | 显示全部楼层
我只更新PCL1.7.2的库和FLANN1.8.4,VS2010总算生成成功,运行exe文件,能够生成配准PCD文件,但显示时出现问题。调试时,程序运行到CPP的72行,即viewer_final->addPointCloud<pcl::PointXYZ> (target_cloud, target_color, "target cloud");,在调用pcl_visulizer.hpp时的292行,即 vtkSmartPointer<vtkPoints> points;时,提示“读取位置0xbaadfood时发生访问冲突”,请高手指导,谢谢!
回复 支持 反对

使用道具 举报

发表于 2015-4-12 23:46:18 | 显示全部楼层
更新VTK库后,在VS2010生成的过程中出错,error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall vtkDataArrayTemplate<unsigned char>::SetArray(unsigned char *,int,int)" (__imp_?SetArray@?$vtkDataArrayTemplate@E@@QAEXPAEHH@Z),该符号在函数 "public: virtual bool __thiscall pcl::visualization::PointCloudColorHandlerCustom<struct pcl::PointXYZ>::getColor(class vtkSmartPointer<class vtkDataArray>&)const " (?getColor@?$PointCloudColorHandlerCustom@UPointXYZ@pcl@@@visualization@pcl@@UBE_NAAV?$vtkSmartPointer@VvtkDataArray@@@@@Z) 中被引用,请高手指导,谢谢!
回复 支持 反对

使用道具 举报

发表于 2016-10-8 22:44:35 | 显示全部楼层
楼主我也遇到了,是怎么解决的啊?
回复 支持 反对

使用道具 举报

本版积分规则

QQ|小黑屋|点云技术相关产学研社区 ( 陕ICP备13001629号 )

GMT+8, 2024-5-17 18:56 , Processed in 1.862664 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表