opencv - Documentation of CvStereoBMState for disparity calculation with cv::StereoBM -


the application of konolige's block matching algorithm not sufficiantly explained in opencv documentation. parameters of cvstereobmstate influence accuracy of disparities calculated cv::stereobm. however, parameters not documented. list parameters below , describe, understand. maybe can add description of parameters, unclear.

  • prefiltertype: determines, filter applied on image before disparities calculated. can cv_stereo_bm_xsobel (sobel filter) or cv_stereo_bm_normalized_response (maybe differences mean intensity???)
  • prefiltersize: window size of prefilter (width = height of window, negative value)
  • prefiltercap: clips output [-prefiltercap, prefiltercap]. happens values outside interval?
  • sadwindowsize: size of compared windows in left , in right image, sums of absolute differences calculated find corresponding pixels.
  • mindisparity: smallest disparity, taken account. default zero, should set negative value, if negative disparities possible (depends on angle between cameras views , distance of measured object cameras).
  • numberofdisparities: disparity search range [mindisparity, mindisparity+numberofdisparities].
  • texturethreshold: calculate disparity @ locations, texture larger (or @ least equal to?) threshold. how texture defined??? variance in surrounding window???
  • uniquenessratio: cited calib3d.hpp: "accept computed disparity d* ifsad(d) >= sad(d*)(1 + uniquenessratio/100.) d != d+/-1 within search range."
  • specklerange: unsure.
  • trysmallerwindows: ???
  • roi1, roi2: calculate disparities in these regions??? unsure.
  • specklewindowsize: unsure.
  • disp12maxdiff: unsure, comment in calib3d.hpp says, left-right check performed. guess: pixels matched left image right image , right image left image. disparities valid, if distance between original left pixel , back-matched pixel smaller disp12maxdiff.

specklewindowsize , specklerange parameters function cv::filterspeckles. take @ opencv's documentation. cv::filterspeckles used post-process disparity map. replaces blobs of similar disparities (the difference of 2 adjacent values not exceed specklerange) size less or equal specklewindowsize (the number of pixels forming blob) invalid disparity value (either short -16 or float -1.f).


Comments

Popular posts from this blog

java - WrongTypeOfReturnValue exception thrown when unit testing using mockito -

php - Magento - Deleted Base url key -

android - How to disable Button if EditText is empty ? -