Sabrina, answers below...kk On Tue, Feb 8, 2011 at 6:07 AM, Sabrina Kliegl wrote: > Hi Kurt, > > thank you, that is what I was looking for. Maybe you can answer me some > questions about the current OpenCV implementation of the block matching: > > Did I get it right, that you are using a horizontal Sobel filter now > instead of the LoG (as mentioned in the paper)? If so, why only a > horizontal Sobel filter and no vertical Sobel as well? X-Sobel gets rid of subpixel error amplification. See this paper: Stereo Matching in the Presence of Sub-Pixel Calibration Errors Heiko Hirschmu¨ ller, Stefan Gehrig > > Is the block matching applied to the images resulting from the edge > detector or to the sharpend original images? > Block matching is applied to the X-Sobel images. > And I wonder how you achieve subpixel accuracy. I suppose the last > magical lines of findStereoCorrespondenceBM(...) to do this: > > int p = sad[mind+1], n = sad[mind-1], d = p + n - 2*sad[mind] + > std::abs(p - n); > dptr[y*dstep] = (short)(((ndisp - mind - 1 + mindisp)*256 + (d != 0 ? > (p-n)*256/d : 0) + 15) >> 4); > > But I don't get the idea behind it. Can you give me a hint? > Subpixel interpolation is done by a quadratic interpolation on the min correlation value and its two neighbors. If you work it out, the fractional disparity increment is: (p-n)/(2*(p+n-2*c)) where c is the min correlation value, p is the one preceeding it, and n is the one after it. The OpenCV version mangles this a bit to get it into fixed-point form. > Regards, > Sabrina > > Am 08.02.2011 14:49, schrieb Kurt Konolige: >> Sabrina, this is still the best publication I have for this: >> >> K. Konolige >> "Small Vision Systems: hardware and implementation" >> Eighth International Symposium on Robotics Research >> Hayama, Japan, October 1997 >> >> Cheers --Kurt >> >> On Tue, Feb 8, 2011 at 1:40 AM, Sabrina Kliegl  wrote: >>> Hi everybody, >>> >>> I'm using stereo_image_proc in my diploma thesis and I wonder if there >>> is any publication of Kurt Konolige (or somebody else) which explains >>> the pre- and postfiltering and which I could use as a reference. Thanks! >>> >>> Regards, >>> Sabrina >>> _______________________________________________ >>> ros-users mailing list >>> ros-users@code.ros.org >>> https://code.ros.org/mailman/listinfo/ros-users >>> >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users >> > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users >