Improve depth map quality
Hello all, I'm approaching to the ComputerVision and to OpenCV in these months. What I'm doing is create a stereo camera in order to obtain informations about an object (a cilindere more or less, with 4 cm of diameter and 8 cm height ) which should be manipulated by a robot. So through the depth map I would like to obtain the 3D position of the object. But first to do this, I would like to obtain a decent real time depth map. What I did is following the example contained in to the examples folder of Emgucv(i'm doing it in C#). there are few questions that I would to propose you:
- How can I be sure that the calibration process was good or not
- For computing the depth map I use the Semi Global Block Matching approach (StereoSGBM method), should I make some pre and/or post filtering to improve the quality of my depth map.
Below, a picture of my actual depth map
Thanks in advance
stereoCalibrate() returns an rms. this should be as small as possible, say, < 0.5.
post-filtering the depth map seems quite common, e.g. inpaint() to remove "holes"
thanks for answering me. Since I'm using emgucv, the function cvInvoke.StereoCalibrate is a void function.
sad to hear that.
unfortunately, we can't help at all with emgu specific things
coould you suggest me any kind of post processing, please? Thanks
Hi. I just wanted to say that cvInvoke.StereoCalibrate is not a void function according to the documentation (http://www.emgu.com/wiki/files/3.0.0/...). It should return a double.
Edit: just tried. It does not return a double. The return type is indeed void.