Stereo: min and max disparity parameters are now float. ImageView: adjusted background color of info boxes.

This commit is contained in:
matlabbe
2017-11-14 11:36:37 -05:00
parent 10c5cb3721
commit b820e98bdc
8 changed files with 50 additions and 122 deletions

View File

@@ -135,7 +135,7 @@ std::vector<cv::Point2f> StereoOpticalFlow::computeCorrespondences(
if(status[i]!=0)
{
float disparity = leftCorners[i].x - rightCorners[i].x;
if(disparity < float(this->minDisparity()) || disparity > float(this->maxDisparity()))
if(disparity <= this->minDisparity() || disparity > this->maxDisparity())
{
status[i] = 0;
++countDisparityRejected;

View File

@@ -126,14 +126,14 @@ std::vector<cv::Point2f> calcStereoCorrespondences(
cv::Size winSize,
int maxLevel,
int iterations,
int minDisparity,
int maxDisparity,
float minDisparityF,
float maxDisparityF,
bool ssdApproach)
{
UDEBUG("winSize=(%d,%d)", winSize.width, winSize.height);
UDEBUG("maxLevel=%d", maxLevel);
UDEBUG("minDisparity=%d", minDisparity);
UDEBUG("maxDisparity=%d", maxDisparity);
UDEBUG("minDisparity=%f", minDisparityF);
UDEBUG("maxDisparity=%f", maxDisparityF);
UDEBUG("iterations=%d", iterations);
UDEBUG("ssdApproach=%d", ssdApproach?1:0);
@@ -164,6 +164,8 @@ std::vector<cv::Point2f> calcStereoCorrespondences(
int totalIterations = 0;
int noSubPixel = 0;
int added = 0;
int minDisparity = std::floor(minDisparityF);
int maxDisparity = std::floor(maxDisparityF);
for(unsigned int i=0; i<leftCorners.size(); ++i)
{
int oi=0;
@@ -316,7 +318,8 @@ std::vector<cv::Point2f> calcStereoCorrespondences(
cache.insert(std::make_pair(previousXc, previousVc));
}
if(xc < leftCorners[i].x+float(d)-1.0f || xc > leftCorners[i].x+float(d)+1.0f)
if(/*xc < leftCorners[i].x+float(d)-1.0f || xc > leftCorners[i].x+float(d)+1.0f ||*/
float(leftCorners[i].x - xc) <= minDisparityF)
{
reject = true;
break;