繁体   English   中英

如何创建视差图?

[英]How to create a disparity map?

好的,我已经实现了一种立体对应算法,该算法获取一对立体图像,将左侧图像上的一个点与右侧图像上的一个点进行匹配,并找出这些点之间的差异。 我需要将其写入视差图。

我发现的视差图是灰度图像,较浅的灰色表示深度较小,较深的灰色表示深度较大。 如何将这样的视差转换成这样的灰度图像? 我的差异很小,即像素之间只有两个距离,这如何转换为灰度像素值?

必须有一种标准的方法来编译视差图,但是到目前为止,我所有的搜索都没有得到任何结果。

创建视差图时,一种简单的解决方案是,最大距离变为黑色,即rgb(0,0,0),最小距离(即0)变为白色,即rgb(255,255,255)。 如果将255除以最大距离,则会找到增量值。 最后,只需检查所有视差,然后将每个rgb值设置为255减去视差乘以增量值即可。 中提琴,您有您的视差图。

因此,在您的示例中,听起来您的最大距离只有2个像素(不幸的是,这意味着您的地图将没有太多细节)。 无论如何255/2 = 127.5。 这意味着增量值为127.5。 因此,在视差为0的任何地方,rgb值为255-(0 * 127.5)或rgb(255,255,255),在视差为1的任何地方,rgb值为255-(1 * 127.5),我们将舍入到128 (128,128,128),且视差为2的任何地方,rgb值为255-(2 * 127.5)或rgb(0,0,0)。

这里有更多资源:
MathWorks如何做到
Jay Rambhia的博客很好,解释了如何编写一个
希望有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM