带有不对称圆形网格openCV的正方形大小

Posted

技术标签:

【中文标题】带有不对称圆形网格openCV的正方形大小【英文标题】:Square size with asymmetric circles grid openCV 【发布时间】:2015-05-20 09:01:02 【问题描述】:

我正在将 OpenCV 用于关于我的论文的项目,我必须校准我的相机以进行 recostruction3D。我有一个关于正方形大小的问题,我知道当我们使用棋盘图案时它是正方形的大小,但我使用圆形网格或不对称圆形网格。你能解释一下这个词在这些情况下的含义吗?

我认为它没有影响,并且对于第一组校准并没有改变将其固定为 50 的值,但我尝试改变好奇心,结果发生了变化。与我认为在图像中心的理想中心点相比,特别是改变了 cxcy 的接近度。例如,如果我放一个像 10000 这样的大 balue,它非常接近,但我有更高的 K2 值(径向失真)和类似的重投影误差。

谁能帮我理解原因???

【问题讨论】:

【参考方案1】:

对于不对称的圆形网格图案,正方形大小是行或列上圆心之间距离的一半。或者,您可以将其视为,如果我在 (row = i, col = j) 处的圆心,到下一个圆心的水平距离(以米或毫米为单位)是多少在第 i+1 行。

我刚刚通过执行 cv::stereoCalibrate() 验证了这一点,然后用卷尺测量了两个镜头之间的(近似)间距。我使用Nerian 的图案并确认打印的内容是正确的(即,对于美国字母图案,间距是 2 厘米,而不是 4 厘米)。

【讨论】:

【参考方案2】:

我自己也在想这个。您可能已经知道这一点,但为了将来参考 - 关于唯一合乎逻辑的测量将是同一行中两个点中心之间的距离 - 查看算法实际测量的以颜色突出显示的模式。当您不固定列或行时,两个相邻圆圈之间的距离会有所不同,因此输入它没有意义。

该算法基本上将非对称圆形网格视为两个独立的、略微移动的网格图,其中圆的中心是网格顶点。

至于为什么我们应该担心这些参数 - 据我了解校准(我并没有声称我是,自从我上次这样做以来已经很长时间了) - 正方形大小参数不会影响客观校准本身,因此将其保留为默认值 1 对于大多数用例来说非常好。它确实影响的是 3D 空间中相机位置/航向的估计(外部参数),因为相机然后使用圆之间的距离作为计算它自己在现实世界单位中的位置的手段,而不是定义为 1 的单位网格边缘尺寸。这仅对校准应该测量物体的固定相机或立体相机系统真正有用,而不是为了不失真。

【讨论】:

我需要了解 Square size 的正确值,在某些论坛中我发现这是相邻圆圈之间距离的一半,在另一个论坛中我发现它是两倍。我知道它对相机的位置有很大的影响,因此我需要正确的值,但我发现它也会影响内在参数和失真参数。最初我认为它是无量纲的,但它对内在参数的影响让我认为它有一个精确的度量单位,因为我无法用其他原因解释这种依赖性。 这是不正确的。它实际上是任何给定行或列上圆圈之间距离的一半(请参阅下面的详细答案)。

以上是关于带有不对称圆形网格openCV的正方形大小的主要内容,如果未能解决你的问题,请参考以下文章

CSS如何画出胶囊形状的圆头长方形

opencv,在一个有缺陷的圆形区域内如何放置更多的小圆形

如图,在2X2的正方形网格中,有一个以格点为顶点的三角形ABC,则网格中所有与三角形A

opencv如何制作圆形的掩码

如何在 uiimage iOS 中围绕眼睛和嘴巴绘制正方形或圆形

有没有像“cvHoughCircles()”这样的opencv函数来进行正方形检测?