我正在使用OpenCV进行关于我的论文的项目,我必须校准我的相机进行recostruction3D。我有一个关于方形尺寸的问题,我知道当我们使用棋盘图案时它是正方形的大小,但我使用圆网格或不对称圆网格。你能解释一下这个术语在这个案子中的含义吗?
我认为它没有影响,并且对于第一组校准没有改变将其固定为50的值,但我试图改变好奇心并且结果改变。与我在图像中心所假设的理想中心点相比,特别方式改变了 cx 和 cy 的接近程度。如果我把像10000这样的大气球放在一起,它非常非常接近,但我有更高的K2值(径向扭曲)和类似的重投影误差。
有人可以帮我理解原因???
答案 0 :(得分:1)
对于非对称圆网格图案,正方形大小半长行或列上圆心之间的距离。或者,您可以将其视为,如果我位于圆的中心(row = i,col = j),那么到下一个圆的中心的水平距离(以米或毫米为单位的公制单位)是多少在第i + 1行。
我刚刚通过做一个cv :: stereoCalibrate()然后用卷尺测量我的两个镜头之间的(近似)间距来验证这一点。我使用Nerian的图案并确认打印的内容是正确的(即,对于美国字母图案,间距是2厘米,而不是4厘米)。
答案 1 :(得分:0)
我自己也在想这个。您可能已经想到了这一点,但是为了将来参考 - 关于唯一的逻辑测量将是同一行中两个点中心之间的距离 - 查看算法实际测量的模式,如颜色突出显示。当您不修复列或行时,两个相邻圆之间的距离会有所不同,因此输入它是没有意义的。
该算法基本上将非对称圆网格视为两个独立的,略微偏移的网格图,其中圆的中心是网格顶点。
至于为什么我们应该担心这些参数 - 据我所知,校准(我并没有声称我是这样,自从我上次这样做以来已经很长时间了) - 方形尺寸参数不会影响客观校准本身,因此将其保留为默认值1对于大多数用例来说是完全正常的。它影响的是3D空间中摄像机位置/航向的估计(外部参数),因为摄像机然后使用圆之间的距离作为计算它在现实世界单元中的自身位置的方法,而不是定义为1的单位。网格边缘大小。这对于校准应该测量材料或立体摄像系统的固定摄像机非常有用,而不是用于非失真目的。