Opencv 理解点云库中的立体匹配
情况:我正在尝试使用Opencv 理解点云库中的立体匹配,opencv,point-cloud-library,Opencv,Point Cloud Library,情况:我正在尝试使用pcl::AdaptiveCostSOStereoMatching获取点云,该方法使用两个校正图像(图片正常) 我使用这些教程来学习如何做到这一点: 错误:程序在运行时调用的AdaptiveCostSOStereoMatching方法时崩溃 问题:如何正确地将图像传递给“compute”方法 我试过了: 1) 由转换的图像 (命令行:“png2pcd.exe in.png out.pcd”) 2) 使用下面的函数从cv::Mat 但是没有运气 将cv::Mat转换为pcl
pcl::AdaptiveCostSOStereoMatching
获取点云
,该方法使用两个校正图像(图片正常)
我使用这些教程来学习如何做到这一点:错误:程序在运行时调用
的AdaptiveCostSOStereoMatching方法时崩溃
问题:如何正确地将图像传递给“compute”
方法
我试过了:
1) 由转换的图像
(命令行:“png2pcd.exe in.png out.pcd”
)
2) 使用下面的函数从cv::Mat
但是没有运气
将cv::Mat转换为pcl::PointCloud的函数
void MatToPointCloud(Mat&Mat,pcl::PointCloud::Ptr cloud)
{
int width=mat.cols;
int height=垫行;
pcl::RGB-val;
val.r=0;val.g=0;val.b=0;
对于(int i=0;i //std::cout问题:我下载并安装了旧版本的PCL,但没有立体声
之后,我从另一个PCL包下载了立体声
,并将此库添加到我的PCL包中。但它工作不正常
解决方案:我编译了PCL1.8
,现在我的程序正常了。
OS:Windows
IDE:MSVS 12 2013 x64
如果您试图编译PCL,这些链接可以帮助您:
问题:我下载并安装了旧版本的PCL,但没有立体声
之后,我从另一个PCL包下载了立体声
,并将此库添加到我的PCL包中。但它工作不正常
解决方案:我编译了PCL1.8
,现在我的程序正常了。
OS:Windows
IDE:MSVS 12 2013 x64
如果您试图编译PCL,这些链接可以帮助您:
你能添加实际的错误字符串吗?请添加错误信息。(更新后)根据我使用PCL的经验,指针不是那么直观。compute
将指针指向云,而你正在使用内置的Ptr
。尝试的一些建议:要么放弃取消引用(也就是说,left_cloud
不是*left_cloud
),将其作为引用传递,而不是*
,或者只使用一个直点云而不是Ptr
,并将其作为引用传递给&
我这样做了,但仍然存在错误。还有一个奇怪的情况:当我关闭预处理时(stereo.setPreProcessing(false)),程序没有崩溃,但输出云是空的(在stereo.getPointCloud之后)。我的PCL(x64 VS2013
)包不包含stereo
libruary。我是从其他PCL包(x64 VS2010
)手动下载的。这可能是错误的原因吗?你能添加实际的错误字符串吗?请添加错误信息。(更新后)根据我使用PCL的经验,指针不是那么直观。compute
获取指向云的指针,而你正在使用内置的Ptr
。尝试的一些建议:要么放弃取消引用(也就是说,left_cloud
不是*left_cloud
),将其作为引用传递,而不是*
,或者只使用一个直点云而不是Ptr
,并将其作为引用传递给&
我这样做了,但仍然存在错误。还有一个奇怪的情况:当我关闭预处理时(stereo.setPreProcessing(false)),程序没有崩溃,但输出云是空的(stereo.getPointCloud之后)。我的PCL(x64 VS2013
)包不包含stereo
libruary。我是从其他PCL包(x64 VS2010
)手动下载的。这可能是错误的原因吗?