image-processing - 需要一些帮助来理解公式

标签 image-processing geometry computer-vision projective-geometry reverseprojection

<分区>

这是针孔相机型号:

enter image description here

(我不明白,有没有[R t],或者(R,t)) 该公式将点的 3d 坐标转换为通过针孔相机获得的图片的 2d 坐标。

投影图:

enter image description here

矢量上的波浪号,表示“1”作为元素添加到该矢量。 M是点在3d空间的坐标,m是点在画面中的坐标,f是相机的焦距,s是像素纵横比。 (R, t)描述了描述矩形的世界坐标系与相机坐标系之间的三维变换。

我不清楚 A 之后的 [R t](或(R,t))是什么意思,以及如何通过将角的 3D 坐标(像素纵横比 = 1)插入我们得到的公式这个:

enter image description here

“t”字母是什么意思?

我在 here 中找到了这个公式(第 13 页)。

最佳答案

不完全是,A[R t] 是将图像从相机图像带到我们的世界的整体变换,[R t] 是一个乘以矩阵 A 的矩阵。R 是一个旋转矩阵,并且t 是一个变换矩阵,两者都是描述相机所必需的。 A是用焦距、像素比和中心点来描述摄影相机的矩阵。系统正在尝试求解 [R t]。

该公式假设图中白板的四个点,由m给定,位于一个平面上,因此它们的坐标存在于一个投影空间内,使得对于所有m,z=0,m( 1).y = m(2).y, m(3).y = m(4).y 和 m(1).x = m(3).x 和 m(2).x = m(4 )。X。您通过应用由焦距、像素大小和平移定义的物理相机失真来校正图像,然后确定一个变换,使 A(m-波浪号) 最终成为 M-波浪号,该变换由矩阵给出[R t]。如果您按照文章进行到最后,将显示计算相机 [R t] 的公式(到一个点)。然而,它确实也证明了你不能根据 m 确定 M 的宽度和高度,只能确定纵横比,从长远来看,对于这个应用程序来说,这是很好的,因为它从任意分辨率映射到另一个任意分辨率,并且绝对大小并不重要。

关于image-processing - 需要一些帮助来理解公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8728759/

相关文章:

c++ - 图片处理代码调试

python - cv2.HoughCircles 的结果不可靠

opencv - 使用内部和外部相机参数进行图像匹配

c++ - 提高几何形状的分辨率

android.support.v4.widget.CircleImageView 不起作用

python - 如何使用 python opencv 去除这些图片中的阴影?

python - 如何使用 python 和 opencv 从彼此中减去两个图像?

visual-c++ - 如何在opencv中合并两个图像?

python - 关于如何对 OpenCV 进行立体校准和校正的直接解决方案?

java - 从几何组合的矩形创建直线多边形