camera-calibration相关内容

视场中的 Kinect 内在参数

Microsoft 声明 Kinect 的视场角为垂直 43 度和水平 57 度(在 此处声明) .鉴于这些,我们可以计算内在参数,即焦点和投影中心吗?我假设投影中心可以给定为 (0,0,0)? 谢谢 编辑:关于我正在尝试做什么的更多信息 我有一个用 Kinect 记录的图像数据集,我正在尝试将像素位置(x_screen、y_screen 和 z_world(以毫米为单位))转换 ..
发布时间:2022-01-14 15:38:30 其他开发

图像裁剪的 OpenCV 相机校准(ROI 子矩阵)

我在使用 OpenCV 的 undistort 函数时遇到了一点问题.我正在使用使用广角镜头的相机.假设我对它的访问是有问题的,因为它已经安装了.问题基本上归结为: 我已经成功测量了所有镜头参数,并且可以毫无问题地使全帧图像不失真,问题是我实际上是在某种线扫描模式下工作.我们只在传感器中间使用了一个切口,大约 100 像素高.图片说明: 现在,如果我对相关图像的 ROI(感兴趣区域)应 ..
发布时间:2022-01-09 18:50:15 C/C++开发

基本矩阵的投影矩阵

我已经获得了两个相机之间的基本矩阵.我也将它们的内部参数放在我之前通过棋盘获得的 3 X 3 矩阵中.使用基本矩阵,我得到了 P1 和 P2 by P1 = [我 |0] 和 P2 = [ [e']x * F |e'] 这些投影矩阵在获取准确的 3D 位置方面并没有真正的用处.因为,我有内部参数 K1 和 K2,我将 P1 和 P2 更改为 P1 = K1 * [I |0] 和 ..
发布时间:2022-01-09 18:39:34 其他开发

OpenCV 2.3 相机校准

我正在尝试使用 OpenCV 2.3 python 绑定来校准相机.我在 matlab 中使用了下面的数据并且校准工作,但我似乎无法让它在 OpenCV 中工作.我作为初始猜测设置的相机矩阵非常接近从 matlab 工具箱计算的答案. 导入 cv2将 numpy 导入为 npobj_points = [[-9.7,3.0,4.5],[-11.1,0.5,3.1],[-8.5,0.9,2.4],[ ..
发布时间:2022-01-09 18:38:32 其他开发

在校准的立体视觉装备中,如何获得“相机矩阵"?需要实现 3D 三角测量算法?

我正在尝试实现 Hartley & 的(相对简单的)线性齐次 (DLT) 3D 三角测量方法Zisserman 的“多视图几何"(第 12.2 节),目的是在未来实现其完整的“最佳算法".现在,基于 this question,我正试图让它在 Matlab 中工作,稍后会将其移植到 C++ 和 OpenCV 中,并在此过程中进行一致性测试. 问题是我不确定如何使用我拥有的数据.我已经校准了我 ..

如何估计具有 3d 到 2d 点对应的相机姿势(使用 opencv)

您好,我的目标是开发用于飞机(模拟器)驾驶舱的头部跟踪功能,以提供 AR 以支持民用飞行员在视觉条件不佳的情况下着陆和飞行. 我的方法是检测我知道其 3D 坐标的特征点(在黑暗的模拟器 LED 中),然后计算估计的(头戴相机的)姿势 [R|t](旋转与平移连接). 我遇到的问题是估计的姿势似乎总是错误的,并且我的 3D 点的投影(我也用来估计姿势)与2D 图像点(或不可见). 我 ..

来自两个校准相机的 3D 重建——这个管道中的错误在哪里?

有很多关于从已知内部校准的立体视图进行 3D 重建的帖子,其中一些是 优秀.我已经阅读了其中的 很多,并且根据我所阅读的内容,我正在尝试使用以下管道/算法计算我自己的 3D 场景重建.我会列出方法,然后在底部提出具体问题. 0.校准您的相机: 这意味着检索相机 1 和相机 2 的相机校准矩阵 K1 和 K2.这些是封装每个相机的 3x3 矩阵内部参数:焦距、主点偏移/图像中心.这些不会 ..

如何验证相机校准是否正确?(或如何估计重投影的误差)

校准的质量是通过重投影误差来衡量的(有替代方法吗?),这需要一些 3d 点的知识世界坐标. 有没有一种简单的方法来产生这样的已知点?有没有办法通过其他方式验证校准(例如,张的校准方法只要求校准对象是平面的,不需要知道系统的几何形状) 解决方案 您可以独立于位姿验证估计的非线性镜头畸变参数的准确性.捕获跨越视场的直边(例如铅垂线或平面上的激光条纹)的图像(跨越 FOV 的一种简单方法是 ..
发布时间:2022-01-09 18:29:39 其他开发

为什么相机内在矩阵中的焦距有两个维度?

在针孔相机模型中,只有一个焦距位于主点和相机中心. 但是,在计算相机的内在参数后,矩阵包含 (fx, 0, offsetx, 0,0, fy, 偏移量, 0,0, 0, 1, 0) 这是因为图像传感器的像素在 x 和 y 上不是正方形的吗? 谢谢. 解决方案 简而言之:是的.为了建立一个可以描述具有矩形像素的相机的数学模型,您必须引入两个独立的焦距.我将引用经常推荐的“ ..

立体校准 Opencv Python 和视差图

我有兴趣找到一个场景的视差图.首先,我使用以下代码进行了立体校准(我在 Google 的帮助下自己编写了它,在没有找到任何用 Python 编写的 OpenCV 2.4.10 相同的有用教程之后). 我在两个相机上同时拍摄了棋盘的图像,并将它们保存为 left*.jpg 和 right*.jpg. 将 numpy 导入为 np导入简历2导入全局# 终止条件标准 = (cv2.TERM_CR ..

如何计算一台摄像机相对于第二台摄像机的外参?

我已经针对某个世界坐标系校准了 2 个相机.我知道它们每个相对于世界框架的旋转矩阵和平移向量.如何从这些矩阵中计算一个相机相对于另一个相机的旋转矩阵和平移向量?? 请提供任何帮助或建议.谢谢! 解决方案 首先将你的旋转矩阵转换成一个旋转向量.现在每个相机都有 2 个 3d 矢量,称为 A1、A2、B1、B2.关于某个起源 O,您拥有所有 4 个.您需要的规则是 A 相对于 B = ..

OpenCV findChessboardCorners 函数在(显然)简单的场景中失败

我正在尝试使用 OpenCV 找到棋盘的角. 我使用的图像包含两个棋盘,但我只对其中一个的子区域感兴趣.下图为原图. 使用 GIMP,然后我选择了感兴趣的区域,并将所有其他像素设置为默认值. 我实际上并没有裁剪图像,因为我已经使用此图像尺寸校准了相机并且我不想更改它.该操作应该等同于更改图像矩阵中的值,但我更喜欢使用 GIMP 进行操作.这是一个一次性的实验,使用图形工具而不是使 ..
发布时间:2022-01-09 18:23:16 Python

如何理解 KITTI 相机校准文件?

我正在研究 KITTI 数据集. 我已经下载了对象集的对象数据集(左右)和相机校准矩阵. 我想使用立体声信息. 但是我不知道如何获得两个相机的Intrinsic Matrix和R|T Matrix.而且我不明白校准文件是什么意思. 校准文件的内容: P0:7.070493000000e+02 0.000000000000e+00 6.040814000000e+02 0.0000 ..
发布时间:2022-01-09 18:18:47 其他开发

来自特征点的 OpenCV 外部相机

当我从每个相机的视图中获取对象的图片时,如何使用 OpenCV 检索每个相机的旋转矩阵、平移向量和一些缩放因子?对于每张图片,我都有几个特征点的图像坐标.并非所有特征点在所有图片中都可见.我想将计算得到的对象特征点的 3D 坐标映射到稍微不同的对象,以将第二个对象的形状与第一个对象对齐. 我听说可以使用 cv::calibrateCamera(...) 但我无法完全理解它... 有人遇 ..

如何使用 openCV 正确校准带有广角镜头的相机?

我正在尝试使用鱼眼镜头校准相机.因此我使用了鱼眼镜头模块,但无论我修复什么失真参数,都会得到奇怪的结果.这是我使用的输入图像:https://i.imgur.com/apBuAwF.png 红色圆圈表示我用来校准相机的角落. 这是我能得到的最好的,输出:https://imgur.com/a/XeXk5 我目前不知道相机传感器的尺寸是多少,但根据在我的 nitrinsic 矩阵中 ..
发布时间:2022-01-09 18:12:40 C/C++开发

FindChessboardCorners 无法通过长焦距镜头在超大图像上检测棋盘

我可以将 FindChessboardCorners 函数用于小于 15 兆像素的图像,例如 2k x 1.5k.但是,当我在 DSLR 的图像上使用它时,分辨率为 3700x5300,它不起作用. 我尝试使用resize()直接缩小图片大小,然后就可以了. 显然 OpenCV 源代码中存在一些硬编码或错误. 你能帮我弄清楚吗,或者给我一个补丁? 我发现有人在 2006 年 ..
发布时间:2022-01-09 18:00:38 C/C++开发

如何从相机固有矩阵计算相机的视野?

我使用相机校准获得了相机固有矩阵和失真参数. 我猜焦距的单位是像素. 那么,我如何计算视野(沿 y)? 这个公式对吗? double fov_y = 2*atan(height/2/fy)*180/CV_PI; 我会用它来做参数 gluPerspective() 解决方案 OpenCV 有一个 函数 执行此操作.查看实现(可在 GitHub) 我们给出了一个尺寸为 wx ..
发布时间:2022-01-08 21:16:52 其他开发

使用 OpenCV 去失真/校正图像

我从本书中获取了校准相机和不失真图像的代码示例:shop.oreilly.com/product/9780596516130.do 据我了解,OpenCV 的常用相机校准方法非常适用于“普通"相机.当涉及到鱼眼镜头时,虽然我们必须使用 8 个校准参数而不是 5 个向量以及方法 cvCalibrateCamera2 中的标志 CV_CALIB_RATIONAL_MODEL.至少,它在 Open ..
发布时间:2022-01-08 21:16:13 其他开发

Python 如何使用 OpenCV 使用 HoughLines 检测图像中的垂直和水平线?

我正在尝试获取校准棋盘的阈值.我无法直接检测棋盘角,因为我观察微型棋盘时有一些灰尘.我尝试了几种方法,HoughLinesP 似乎是最简单的方法.但结果并不好,如何改进我的结果? 将 numpy 导入为 np导入 cv2img = cv2.imread('lines.jpg')灰色 = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)边缘 = cv2.Canny(灰色,5 ..
发布时间:2021-12-10 21:21:43 Python