OpenCV:颜色视差图

时间:2015-04-04 00:46:58

标签: opencv colors disparity-mapping

我的问题是如何为这个页面添加视差图:http://vision.middlebury.edu/stereo/data/scenes2014/

提前感谢您提出任何建议。

1 个答案:

答案 0 :(得分:1)

使用深度信息创建那些视差图,您可以使用轴方向为深度图着色。

您也可以通过构建JetColor Map创建自己的方法。

 template<typename T, typename U, typename V>
 inline cv::Scalar cvJetColourMat(T v, U vmin, V vmax) {
 cv::Scalar c = cv::Scalar(1.0, 1.0, 1.0);  // white
 T dv;

if (v < vmin)
   v = vmin;
if (v > vmax)
   v = vmax;
dv = vmax - vmin;

if (v < (vmin + 0.25 * dv)) {
   c.val[0] = 0;
   c.val[1] = 4 * (v - vmin) / dv;
} else if (v < (vmin + 0.5 * dv)) {
   c.val[0] = 0;
   c.val[2] = 1 + 4 * (vmin + 0.25 * dv - v) / dv;
} else if (v < (vmin + 0.75 * dv)) {
   c.val[0] = 4 * (v - vmin - 0.5 * dv) / dv;
   c.val[2] = 0;
} else {
   c.val[1] = 1 + 4 * (vmin + 0.75 * dv - v) / dv;
   c.val[2] = 0;
}
return(c);
}

请注意,您可以根据需要更改为其他颜色组件。