最佳答案
苹苹1215 发表于 2014-8-29 09:24 立体匹配就4个步骤:匹配代价计算,代价聚合,计算视差,视差精化。你先弄明白这四个步骤分别是在做什么,然后按照这个步骤来做就是了。代价计算常用的就是基于像素点匹配代价计算,一般有AD, SD,TAD什么的,基于区域的匹配代价计算一般有SAD,SSD, STAD之类的。匹配代价计算会生成一个disparity space image,也就是DSI。这个DSI是一个三维的空间,也就是每一个视差,得到一张代价图。假如视差范围是0~16,则会得到17幅代价图。接着就进行代价聚合,其实就是一个滤波的过程,对每一幅代价图进行聚合,最简单的就是采用boxfilter。接着就是计算视差了。常用的方法就是WTA算法,对于图像中的同一个点,选出17幅代价图中匹配代价最小的那张图,该幅图对应的视差值就选取为最终的视差。上面的方法是基于局部的匹配。基于全局的算法有些区别。不过基本步骤都差不多。有些时候,基于局部的算法,第一步和第二步是合并在一起进行的,基于全局的算法,会跳过第二步。具体多看看论文吧。至于视差范围跟两个摄像头的位置有关吧,一般都是预估一下就可以了。 |
12 条回复
1,提取特征再匹配 2,如果你有两个方向都有视差,并打算求二维视差,那么就不需要校正。一般都会校正,只保留一维方向视差 3,视差图的物理意义就是视差 |
OlaBaby 发表于 2014-8-25 11:51 我提取到了特征点 图像的纹理比较单一 全部是方形网格 我提取到的是网格交点 这写特征点可以作为窗口中心元素吗 系统是双目的 校正一般用什么方法 请问您有没有这方面的资料啊 谢谢了 |
苹苹1215 发表于 2014-8-28 17:22 建议你找文献读哦 |
如果是要得到一张完整的视差图,为啥要去找特征点?应该把左图像的每个点,按照视差范围在右图像中挨个匹配的,从中找到最相似点作为最后的匹配点,然后计算这对匹配点的位置之差就是视差了。 如果仅仅是计算某几个特征点的三维坐标,根本就不需要这么做。 |
荒草 发表于 2014-8-28 21:05 我匹配时基于特征的匹配 之前的算法效果不好 所以在看其他的 单纯的匹配不需要找视差图是吧 视差图是匹配好之后再计算的吗 那这个视差范围怎么确定的 |
荒草 发表于 2014-8-28 21:05 我是提取了图像中的某些点进行匹配 你的意思是单纯的匹配只要确定视差范围和匹配代价就可以了?完成匹配之后才计算视差吗 |
苹苹1215 发表于 2014-8-29 09:24 立体匹配就4个步骤:匹配代价计算,代价聚合,计算视差,视差精化。你先弄明白这四个步骤分别是在做什么,然后按照这个步骤来做就是了。代价计算常用的就是基于像素点匹配代价计算,一般有AD, SD,TAD什么的,基于区域的匹配代价计算一般有SAD,SSD, STAD之类的。匹配代价计算会生成一个disparity space image,也就是DSI。这个DSI是一个三维的空间,也就是每一个视差,得到一张代价图。假如视差范围是0~16,则会得到17幅代价图。接着就进行代价聚合,其实就是一个滤波的过程,对每一幅代价图进行聚合,最简单的就是采用boxfilter。接着就是计算视差了。常用的方法就是WTA算法,对于图像中的同一个点,选出17幅代价图中匹配代价最小的那张图,该幅图对应的视差值就选取为最终的视差。上面的方法是基于局部的匹配。基于全局的算法有些区别。不过基本步骤都差不多。有些时候,基于局部的算法,第一步和第二步是合并在一起进行的,基于全局的算法,会跳过第二步。具体多看看论文吧。至于视差范围跟两个摄像头的位置有关吧,一般都是预估一下就可以了。 |
苹苹1215 发表于 2014-8-28 17:22 我想问一下特征点的选取有什么要求吗?应该如何选取 |
花开盛夏 发表于 2015-3-2 10:58 我这个是选取期望的标记点作为特征 不是自然场景的哪一类图像 所以没有什么特别的要求 你按具体情况选取 |
荒草 发表于 2014-8-28 21:05 我是在左右图像中选取了某些标记点 比如个10个标记点作为匹配点 完成匹配 但是在有视差的情况下 匹配效果并不好 再想请教一下 |
荒草 发表于 2014-8-28 21:05 我这里说的特征点就是我在左右图像中选取了某些标记点 比如10个, 通过匹配和相机标定的参数来计算这10个点所对应的空间坐标,匹配效果并不是很好 左右图像也有视差 这类点的匹配有什么比较好的方法 再请教一下 |
Powered by Discuz! X3.4
© 2001-2022