1

这个问题与这个问题类似,但是在这张图片中,我只有一个具有有效深度的像素子集,其余的都设置为零。

例如,这里是 rgb:

在此处输入图像描述

其中所有白色像素都没有深度(深度值为 0)。如果我使用链接问题中的方法,即:

double min;
double max;
cv::minMaxIdx(map, &min, &max);
cv::Mat adjMap;
cv::convertScaleAbs(map, adjMap, 255 / max);
cv::imshow("Out", adjMap);

我得到以下图像,从中看深度差异不是很清楚:

在此处输入图像描述

对象的最小和最大深度值分别为 601 和 654。

4

1 回答 1

1

尝试先减去最小值,然后缩放到您的数据范围:

double min;
double max;
cv::minMaxIdx(map, &min, &max);
map -= min;
cv::Mat adjMap;
cv::convertScaleAbs(map, adjMap, 255.0 / double(max-min) );
cv::imshow("Out", adjMap);
于 2013-07-22T17:16:28.230 回答