2

我的问题是如何像这个页面一样为视差图着色:http: //vision.middlebury.edu/stereo/data/scenes2014/

提前感谢您的任何建议。

4

1 回答 1

1

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

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

 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);
}

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

于 2015-04-05T07:50:28.187 回答