OpenCV相机标定与3D重建(65)对图像点进行去畸变处理函数undistortPoints()的使用_cv::undistortpoints
- 操作系统:ubuntu22.04
- OpenCV版本:OpenCV4.9
- IDE:Visual Studio Code
- 编程语言:C++11
算法描述
从观测到的点坐标计算理想点坐标。
该函数类似于 undistort 和 initUndistortRectifyMap,但它操作的是稀疏点集而不是光栅图像。此外,该函数执行与 projectPoints 相反的变换。对于3D对象,它不会重建其3D坐标;但对于平面对象,如果指定了适当的旋转矩阵 R,它可以重建坐标,直到一个平移向量为止。
对于每个观测到的点坐标 (u,v),该函数计算:
x\"←(u−cx)/fxy\"←(v−cy)/fy(x′,y′)=undistort(x\",y\",distCoeffs)[X Y W]T←R∗[x′ y′ 1]Tx←X/Wy←Y/WonlyperformedifPisspecified:u′←xf′x+c′xv′←yf′y+c′y\\begin{array}{l} x^{\"} \\leftarrow (u - c_x)/f_x \\\\ y^{\"} \\leftarrow (v - c_y)/f_y \\\\ (x\',y\') = undistort(x^{\"},y^{\"}, \\texttt{distCoeffs}) \\\\ {[X\\,Y\\,W]} ^T \\leftarrow R*[x\' \\, y\' \\, 1]^T \\\\ x \\leftarrow X/W \\\\ y \\leftarrow Y/W \\\\ \\text{only performed if P is specified:} \\\\ u\' \\leftarrow x {f\'}_x + {c\'}_x \\\\ v\' \\leftarrow y {f\'}_y + {c\'}_y \\end{array}x\"←(u−cx)/fxy\"←(v−cy)/fy(x′,y′)=undistort(x\",y\",distCoeffs)[XYW]T←R∗[x′y′1