I am using CStereoMatchers: Match function. When this function is called for the first time, the Match function returns -100002 value and if the same function is called twice, it returns disparity. When a breakpoint is kept on this function for debugging, it doesn't enter the function and returns -100002 and a mesage is dispalyed "there is no source code available for debugging". However if the same function is called second time with the similar parameters ( images, pixel coordinates to be searched, window size, and disparity range) , it returns correct disparity.
I am not understanding what shall I do in this regard. Should I change some settings in the C++ application properties? or Could you please suggest what shall I do in order to make the Match function return disparity each time?
I would be thankful to you if you could help me in this regard.
maybe you are linking against the release version of the IVT (ivt.lib) instead of the debug version (ivtd.lib) so that the Visual Studio doesn't allow you to step through the source code.
Anyways, you can also the a look at the implementation of CStereoMatcher::Match(…) in the file IVT/src/Image/StereoMatcher.cpp. When the value -100002 is returned, this means that the window location you are looking a match for contains too few textural information (i.e. nearly homogeneous).
I recommend to try CStereoMatcher::MatchZSAD(…) instead, which is more suitable in such cases. Nevertheless, a correlation window that contains close to homogeneous image information cannot be matched reliably.
Thanks for your inputs. Could you please let me know in which version of IVT is CStereoMatcher::MatchZSAD available?? I have searched atleast 5 or 6 versions of IVT for the function CStereoMatcher::MatchZSAD in CStereoMatcher class file.
Again thanks a lot for your prompt reply.
I am not sure since which version, but it is definitely available in the current version (1.3.12).
Log in to post a comment.