undistortPoints函数中的归一化点坐标

时间:2017-07-01 03:27:43

标签: opencv camera-calibration perspective perspectivecamera

在OpenCV的undistortPoints函数中,文档说明了

http://docs.opencv.org/2.4/modules/imgproc/doc/geometric_transformations.html#undistortpoints

其中undistort()是一种近似迭代算法,用于估计归一化失真点坐标中的归一化原始点坐标(“归一化”意味着坐标不依赖于摄像机矩阵)。

似乎通过将1加到第三个坐标来获得归一化点坐标。标准化点坐标意味着什么?如何使用?

在上面,有两行

x“=(u - cx)/ fx

y“=(v - cy)/ fy

坐标是否有一个术语(x'',y'')?

1 个答案:

答案 0 :(得分:1)

我不完全确定你的意思是“坐标是否有一个术语(x”,y“)”,但如果你的意思是它们的物理代表,那么它们就是图像点的坐标( u,v)在摄像机坐标系中表示的图像平面上(原点位于投影中心,x轴指向右侧,y轴指向下方,z轴指向场景并垂直于图像平面),而(u,v)是图像点相对于图像平面左上角的原点的坐标(x轴向右,y轴向下)。所有数量均以像素表示。

undistortPoints函数的输出是规范化坐标,这意味着dst参数中返回的点的(x“,y”)坐标在0和1之间(未显示在您呈现的等式中,但是输出在undistortPoints中内部调用的undistort函数)。

将插入1作为第三坐标的2D坐标(无论是否标准化)称为同质坐标。通过将1插入第4个元素,可以对3D坐标进行相同的操作。均匀坐标是有用的,因为它们允许某些操作表示为简单的线性方程,而它们的非同质等价可能不那么简单。