对极几何基础 与 生成深度图(即视差图)

1,041 阅读2分钟

对极几何基础 与 生成深度图(即视差图)

1>理论示例图(英文,自己动手)

2>理论知识介绍(英文,自己动手)

以上两个个人推荐 先看Opencv官方文档,很基础的哦![嘿嘿]

然后再去网上自己Google 并 阅读 英文文献![嘻嘻]

3>NEW-NOUN:

  • 极点 及其查找方法
  • 极线 及其绘制
  • 视差图 即 深度图
  • 特征矩阵E, 基础矩阵F

4>Python-API

语法 retval = cv.StereoSGBM_create( [, minDisparity[, numDisparities[, blockSize[, P1[, P2[, disp12MaxDiff[, preFilterCap[, uniquenessRatio[, speckleWindowSize[, speckleRange[, mode]]]]]]]]]]]

功能: Creates StereoSGBM object

Parameters: 参数介绍

minDisparity Minimum possible disparity value. Normally, it is zero but sometimes rectification algorithms can shift images, so this parameter needs to be adjusted accordingly.
numDisparities Maximum disparity minus minimum disparity. The value is always greater than zero. In the current implementation, this parameter must be divisible by 16.
blockSize Matched block size. It must be an odd number >=1 . Normally, it should be somewhere in the 3..11 range.
P1 The first parameter controlling the disparity smoothness. See below.
P2 The second parameter controlling the disparity smoothness. The larger the values are, the smoother the disparity is. P1 is the penalty on the disparity change by plus or minus 1 between neighbor pixels. P2 is the penalty on the disparity change by more than 1 between neighbor pixels. The algorithm requires P2 > P1 . See stereo_match.cpp sample where some reasonably good P1 and P2 values are shown (like 8number_of_image_channelsSADWindowSizeSADWindowSize and 32number_of_image_channelsSADWindowSizeSADWindowSize , respectively).
disp12MaxDiff Maximum allowed difference (in integer pixel units) in the left-right disparity check. Set it to a non-positive value to disable the check.
preFilterCap Truncation value for the prefiltered image pixels. The algorithm first computes x-derivative at each pixel and clips its value by [-preFilterCap, preFilterCap] interval. The result values are passed to the Birchfield-Tomasi pixel cost function.
uniquenessRatio Margin in percentage by which the best (minimum) computed cost function value should "win" the second best value to consider the found match correct. Normally, a value within the 5-15 range is good enough.
speckleWindowSize Maximum size of smooth disparity regions to consider their noise speckles and invalidate. Set it to 0 to disable speckle filtering. Otherwise, set it somewhere in the 50-200 range.
speckleRange Maximum disparity variation within each connected component. If you do speckle filtering, set the parameter to a positive value, it will be implicitly multiplied by 16. Normally, 1 or 2 is good enough.
mode Set it to StereoSGBM::MODE_HH to run the full-scale two-pass dynamic programming algorithm. It will consume O(WHnumDisparities) bytes, which is large for 640x480 stereo and huge for HD-size pictures. By default, it is set to false .