cv2.calibrateCamera函数

复制代码
ret, mtx, dist, r_vecs, t_vecs = cv2.calibrateCamera(obj_points, img_points, size, None, None)

这个函数里的obj_points和img_points是同一相机不同视角下20张图片的角点,那这个函数返回的旋转向量r_vecs和位置矢量t_vecs是指什么,因为20张图像,棋盘格码的位置都不一样,它这个返回的旋转向量和位置矢量是指哪一张图?

在 cv2.calibrateCamera 函数中,obj_points 和 img_points 包含了同一相机不同位置拍摄chessboard时获取的三维点和二维点。

这个函数会利用所有的点对进行相机标定,返回的标定结果适用于所有的图片,而不是仅针对单张图片。具体来说:

  • r_vecs: 是一个旋转向量数组,长度为图片张数,表示每张图片相对于第一个画面的旋转变换。

  • t_vecs: 是一个位移向量数组,长度也是图片张数,表示每张图片相机光心相对于第一个画面的位置变换。- mtx: 是相机的内参矩阵,针对所有的图片通用。

  • dist: 是相机的畸变系数,也是通用的。所以标定结果是针对该相机的整体参数,而不是仅针对某一张特定图片的。r_vecs和t_vecs表示了每张图片相对于第一个画面的位姿变换,配合内参矩阵mtx可以将图像点反投影到三维空间中。要为特定一张图片生成投影矩阵,需要选择对应的r_vecsi和t_vecsi,结合mtx来生成即可

相关推荐
_李小白1 天前
【android opencv学习笔记】Day 32:直线检测之霍夫变换
android·opencv·学习
程序员正茂2 天前
EasyAR使用OpenCV下USB摄像头作为自定义相机
opencv·unity·easyar
_李小白2 天前
【android opencv学习笔记】Day 31:提取轮廓之Canny算法
android·opencv·学习
点云兔子2 天前
舱口检测:从点云到矩形定位的射线投影算法
opencv·算法·点云·舱口检测
蝈蝈Tjguo2 天前
opencv 与摄影测量 相机坐标系的区别
人工智能·数码相机·opencv
盼小辉丶2 天前
OpenCV-Python实战(26)——复杂场景下的实时物体检测与跟踪
python·opencv·计算机视觉
咸鱼翻身小阿橙2 天前
在VScode使用C#并且调用opencv库
vscode·opencv·c#
咸鱼翻身小阿橙3 天前
高斯模糊降噪/磨皮算法降噪图像
前端·opencv·算法·webpack·c#
嵌入式老牛3 天前
液晶段码(米/日字格)识别—倾斜校正
opencv·算法·仿射变换
故渊at4 天前
第一板块:Android 系统基石与运行原理 | 第五篇:Context 上下文与资源配置体系
android·人工智能·opencv·context·上下文·资源配置体系