2015-04-04 202 views
2

我的問題是如何顏色差異地圖像這樣的頁面:http://vision.middlebury.edu/stereo/data/scenes2014/OpenCV:顏色視差圖

非常感謝您的任何建議。

+0

我能夠給你一個提示:在HSV圖像中使用差異值作爲色調,其中飽和度和值都最大。請回答你自己的問題,如果你可以拿出工作解決方案,它看起來像一個有趣的功能 – Antonio 2015-04-04 21:35:51

+0

http://docs.opencv.org/modules/contrib/doc/facerec/colormaps.html – berak 2015-04-05 09:16:15

回答

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

請注意,您可以更改爲其他顏色組件,以滿足您的需要。