我正在尝试使用OpenCV Structured Light API构建结构光扫描仪。我正在使用立体相机并在相机对之间进行校准。
立体相机误差约为0.26
单个相机误差也在0.22左右
但是在灰码模式解码结束时,我在图像上得到了奇怪的深度失真(链接在下面)。结果应该是平坦的表面,但看起来非常弯曲的表面。
是什么造成这样的错误?
https://docs.opencv.org/3.1.0/dc/da9/tutorial_decode_graycode_pattern.html
答案 0 :(得分:0)
当我与其他开源项目进行比较时,重新映射似乎有误。
应使用重映射功能,如下所示
remap( captured_pattern[0][i], captured_pattern[0][i], map1x, map1y, INTER_NEAREST, BORDER_CONSTANT, Scalar() );
remap( captured_pattern[1][i], captured_pattern[1][i], map2x, map2y, INTER_NEAREST, BORDER_CONSTANT, Scalar() );