问题标签 [extrinsic-parameters]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
648 浏览

camera-calibration - 如何从目标平面中的三个已知维度计算相机外参

我的问题如下。

单个摄像机(位置和方向都保持不变)用于监控远处平面目标的运动。包括焦距、传感器分辨率、主点在内的内在参数是已知的。不考虑镜头畸变。

在世界系统中,关于目标(在平面内)的三个维度是已知的。我想知道确定相机外参是否足够。如果是,如何计算?

非常感谢。

0 投票
1 回答
1002 浏览

opencv - 为什么 OpenCV 在校准函数中只有 6 个外部参数?

我使用 Opencv 示例代码来进行相机校准。据我所知,外部参数有 12 个元素,但在 OpenCV 中,旋转矢量和平移矢量的总和为 6。

为什么 OpenCV 只有 6 个参数?

http://docs.opencv.org/2.4/_downloads/camera_calibration.cpp

0 投票
1 回答
274 浏览

computer-vision - 外部相机参数是否被归类为旋转矩阵?

我一直在阅读 Prince 的书Computer Vision: Models, Inference, and Learning,特别是为了理解相机参数和姿态估计问题,我在外部相机参数方面遇到了一些麻烦。据我了解,外部相机参数由旋转矩阵平移向量组成。旋转矩阵将世界坐标系转换为相机坐标系。我的问题是旋转矩阵是否是严格意义上的旋转矩阵;因为它是正交的并且具有行列式 1。

我之所以问,是因为在随后的几何变换章节中,他描述了相机正在查看平面(w/z 坐标 = 0)的情况,并介绍了由外在相机矩阵表示的仿射投影变换。我很困惑,因为使用旋转矩阵无法实现这样的转换,还是我错了?一般糊涂

0 投票
1 回答
180 浏览

matlab - 探戈相机外在

基于MATLAB 链接的相机校准外在矩阵应该是 4x3 矩阵(包括方向和平移)意味着我们需要 12 个元素,但是,根据Tango 文档中的解释,我们只得到 3 个平移数字和 4 个旋转数字。如何用这 7 个数字创建 4x3 矩阵?

谢谢,瓦希德。

0 投票
3 回答
1168 浏览

matlab - Matlab检测CheckerboardPoints不完美

我最近使用 Matlab Single Camera Calibration App算法来校准相机的内在和外在。在找到棋盘的角落时,Matlab 的功能多次detectCheckerboardPoints执行(准确度)opencv api cv::findChessboardCorners,但在某些图片上,Matlab 的行为很奇怪。

例如,在下图中,棋盘格之间的角清晰可见,而 matlab 在奇怪的地方发现多余的角:

  1. original image: //应该有5*8=40个内角点 在此处输入图像描述

  2. 在未失真图像上找到的角点://6*9=54 found 在此处输入图像描述

  3. 在原始图像上找到的点://6*10=60... 在此处输入图像描述

matlab 代码片段很简单,如下所示:

  1. 在这张图片上用(下面的代码)检测到的角opencv非常精确:

//opencv代码:

在此处输入图像描述

0 投票
1 回答
843 浏览

camera - 来自基本矩阵的相机矩阵

我正在尝试从基本矩阵中提取相机矩阵。我找到了一些关于这个的答案。

从基本矩阵确定相机旋转和平移矩阵

基本矩阵的旋转和平移不正确

在这些答案中,他们建议我使用newEwhere[U,S,V] = svd(E)newE = U*diag(1,1,0)*Vt. 我不明白为什么我需要使用newE. 据我所知,奇异值是独一无二的。因此,将奇异值更改为diag(1,1,0)似乎会产生E完全不同的值。

我还阅读了“计算机视觉中的多视图几何”,但它只是指理想情​​况,即奇异值是 (1,1,0)。我没有找到使用的原因newE

请谁能解释我为什么人们使用newE

0 投票
1 回答
3139 浏览

opencv - 使用opencv进行多摄像头校准:两个摄像头面对面

我想计算两个相机的外部校准,并使用 cv::stereoCalibrate() 函数来执行此操作。然而,结果与现实并不相符。有什么问题?

设置:两台摄像机安装在 7 米高处,向下看时面对面。他们有很多视野交叉点,我捕获了我在校准中使用的棋盘图像。

我没有翻转任何图像。

我需要翻转图像吗?还是我需要做其他事情来告诉相机实际上是面对面的?

注意:相同的功能可以完美校准彼此相邻且朝向相同方向的摄像机(就像任何典型的立体摄像机一样)。

谢谢

0 投票
1 回答
5529 浏览

opencv - 为什么直接线性变换 (DLT) 不能提供最佳的相机外在参数?

我正在阅读solvePnP()OpenCV 中函数的源代码,当flags参数使用默认值SOLVEPNP_ITERATIVE时,它正在调用cvFindExtrinsicCameraParams2,其中它首先使用DLT算法(如果我们有一组非平面的 3D 点)来初始化 6DOF 相机姿势,和 SECOND 用于CvLevMarq solver最小化重投影误差。

我的问题是:DLT 将问题表述为线性最小二乘问题并用 SVD 分解来解决,这似乎是一个最优解,为什么我们之后仍然使用 Lev-Marq 迭代方法?

或者,DLT 算法劣势的问题/限制是什么?为什么封闭形式的解决方案会导致成本函数的LOCAL最小值?

0 投票
1 回答
1329 浏览

computer-vision - 给定立体图像的相对旋转和内在矩阵,如何估计相机平移?

我有由单个相机拍摄的场景的 2 张图像(左和右)。我知道内在矩阵K_L以及两个图像和两个相机之间的K_R相对旋转。R

如何计算t两个相机之间的精确相对平移?

现场方案

0 投票
0 回答
610 浏览

point-cloud-library - 如何在openni2中获取相机内在和外在?

我有一个 Primesense 胭脂红 1.08 和胭脂红 1.09。我需要 RGB 和 IR 相机的内在参数以及两者之间的外在参数。我使用支持 openni2 的 pcl。所以我需要知道openni2/pcl使用的传感器参数。

在 openni2 中有没有办法使用 openni2/pcl 找到内在函数和外在函数?Libfreenect2 可以选择获取 IR 和彩色相机内在函数,但这些参数与 openni 中的参数相同吗?所有这些参数是否在运行时从传感器中提取出来?

我试图通过 pcl 得到它,但我得到的是焦距和主要点的 nan

一个类似的问题已经被问到here https://stackoverflow.com/questions/41110791/openni-intrinsic-and-extrinsic-calibration。然而,它还没有收到任何答复。