gpt4 book ai didi

java - 如何创建视差图?

转载 作者:行者123 更新时间:2023-11-29 09:18:05 25 4
gpt4 key购买 nike

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

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

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

最佳答案

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

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

这里还有一些资源:
How MathWorks does it
Jay Rambhia has a good blog explaining how to program one
希望对您有所帮助!

关于java - 如何创建视差图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8229590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com