mirror of
https://github.com/introlab/rtabmap.git
synced 2026-10-04 00:57:46 +08:00
Adding support for compressed input data and right color image. (#1463)
This commit is contained in:
@@ -71,7 +71,8 @@ cv::Mat StereoSGBM::computeDisparity(
|
||||
{
|
||||
UASSERT(!leftImage.empty() && !rightImage.empty());
|
||||
UASSERT(leftImage.cols == rightImage.cols && leftImage.rows == rightImage.rows);
|
||||
UASSERT((leftImage.type() == CV_8UC1 || leftImage.type() == CV_8UC3) && rightImage.type() == CV_8UC1);
|
||||
UASSERT(leftImage.type() == CV_8UC1 || leftImage.type() == CV_8UC3);
|
||||
UASSERT(rightImage.type() == CV_8UC1 || rightImage.type() == CV_8UC3);
|
||||
|
||||
cv::Mat leftMono;
|
||||
if(leftImage.channels() == 3)
|
||||
@@ -83,6 +84,16 @@ cv::Mat StereoSGBM::computeDisparity(
|
||||
leftMono = leftImage;
|
||||
}
|
||||
|
||||
cv::Mat rightMono;
|
||||
if(rightImage.channels() == 3)
|
||||
{
|
||||
cv::cvtColor(rightImage, rightMono, CV_BGR2GRAY);
|
||||
}
|
||||
else
|
||||
{
|
||||
rightMono = rightImage;
|
||||
}
|
||||
|
||||
cv::Mat disparity;
|
||||
#if CV_MAJOR_VERSION < 3
|
||||
cv::StereoSGBM stereo(
|
||||
@@ -97,7 +108,7 @@ cv::Mat StereoSGBM::computeDisparity(
|
||||
speckleWindowSize_,
|
||||
speckleRange_,
|
||||
mode_==1);
|
||||
stereo(leftMono, rightImage, disparity);
|
||||
stereo(leftMono, rightMono, disparity);
|
||||
#else
|
||||
cv::Ptr<cv::StereoSGBM> stereo = cv::StereoSGBM::create(
|
||||
minDisparity_,
|
||||
@@ -111,7 +122,7 @@ cv::Mat StereoSGBM::computeDisparity(
|
||||
speckleWindowSize_,
|
||||
speckleRange_,
|
||||
mode_);
|
||||
stereo->compute(leftMono, rightImage, disparity);
|
||||
stereo->compute(leftMono, rightMono, disparity);
|
||||
#endif
|
||||
|
||||
if(minDisparity_>0)
|
||||
|
||||
Reference in New Issue
Block a user