问题标签 [camera-calibration]
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.
c++ - 配置文件应该放在哪里?
以下代码是 OpenCV 中相机校准程序的一部分。但是当我运行程序时出现错误:它说
无法打开配置文件
我把配置文件放在了,c:/Nn/default.xml
但我仍然得到这个错误
你能帮我看看代码有什么问题吗?我是否将文件放在错误的路径中?
c++ - 立体声校准时访问冲突?
我在立体声校准中执行调试时遇到访问冲突错误
代码如下
这些初始化如下,n是一个固定整数
请帮帮我......
c++ - 视差映射中的立体视觉
我正在实现立体视觉深度映射,如 O'reilly 书的 opencv 教科书中的示例所示。
在实现此代码时,我的相机都是水平的并且两者都不相同。执行代码后,我得到了非常奇怪的结果。我想验证这些奇怪的结果是只是因为相机迷失方向还是代码中有任何问题,请帮助我。
这个链接中给出了视差图的照片 一个是网络摄像头另一个是USB摄像头
opencv - 立体相机-外在矩阵
我已经校准了立体相机并获得了外在矩阵。我知道第一台和第二台相机坐标系之间的平移向量“T”。
如何计算相机之间的基线距离。
opencv - cvundistortpoints 中的新相机矩阵是什么?
我在理解新相机矩阵的内容时遇到了问题cvUndistortpoints
。我们在立体校准中获得了相机的相机矩阵,以及为什么我们必须在 cvstereorectify 中传递从 cvundistortpoints 获得的新相机矩阵。输出后的新相机矩阵与相机矩阵有何不同cvUndistortPoints
?
opencv - cvReprojectImageTo3D 和 CV_32FC3 的问题
我需要你的帮助。我已经使用我的立体声对实现了立体声校准和校正。我有一个非常合理的视差图像。我面临的问题是cvReprojectImageTo3D。我使用了stereobM。并以正确的方式纠正。声明如下
disp 是为立体对获得的视差图像。当我运行 Image3D 的 showimage 命令时,我获得了彩色分割。我的疑问是为什么会这样。我附上我的结果
照片的链接如下
https://plus.google.com/photos/110965556771924534380/albums/5745356738809417329/5748680803335389906
我的另一个疑问是这个 image3D 是如何存储的。CV_32FC3 是否意味着第一个通道给出 x 值第二个给出 y 而第三个给出 z 或排序或有任何其他表示..?
opencv - 使用相机内在/外在重新扭曲点
给定一组二维点,我如何应用相反的undistortPoints
?
我有相机的内在函数,distCoeffs
并且想(例如)创建一个正方形,并像相机通过镜头看到它一样扭曲它。
我在这里找到了一个“扭曲”补丁:http: //code.opencv.org/issues/1387,但这似乎只对图像有用,我想处理稀疏点。
computer-vision - libfreenect - 深度注册理论
我一直在研究 Kinect 一段时间,现在将 ofxKinect 与 openFrameworks 一起使用。我一直在使用内置的深度注册:
我认为它调用了底层 libfreenect 库提供的注册函数。我尝试查看 libfreenect 的源代码,以找出将深度图注册到 RGB 图像背后的理论,但我真的对这一切感到困惑。
代码在这里:https ://github.com/ofTheo/ofxKinect/blob/master/libs/libfreenect/registration.c
有谁知道这段代码实现的技术背后的理论是什么?即使您可以将我指向一篇采用类似技术的论文,那也会很有帮助。
opencv - 相机校准(OpenCV 2.3) - 如何使用失真参数?
我有一组带有一些附加标记的刚体图像。我在这些标记之一中定义了一个坐标系,我想获得该坐标系与在相机原点处定义的坐标系之间的旋转和平移。
我尝试了一段时间 POSIT(在此之后)但没有得到可接受的结果,直到我意识到我必须首先校准相机。在此基础上并使用通过校准体获取的一些图像,我得到了相机内在矩阵和失真参数。我也得到了 1.276 的重投影错误(?)。
- 重投影误差是否太高?我该如何改进它?(我使用了更多图像,只是稍微降低了值)。
- 我可以在 POSIT 中使用失真参数吗?如何?
谢谢。
似乎减少重投影错误(从 ~1.3 变为 ~0.7)的唯一方法是在 XML 配置文件中将以下参数设置为“0”:
使用更多图像不会改变错误,我仍然不确定这个新错误是否可以接受。
我在 POSIT 中使用校准给出的值作为输出(即焦距和光学中心),但结果与我使用预校准值时得到的结果非常相似。我没有使用失真参数,因为我不知道如何在 POSIT 中处理它们(它们会对结果产生影响吗?)。
校准后得到的相机矩阵:
以及我在 POSIT 中使用它的方式:
我计算了新中心坐标与校准图像的中心坐标之间的差异,然后将该差异应用于我正在使用 POSIT 的图像的中心坐标。
我在两个不同的图像上使用 POSIT,理论上我应该在模型和相机坐标系之间获得 0(对于第一个)和 10(对于第二个)度的旋转。在获得每个图像的旋转矩阵后,我在相机坐标系上定义了一个单位向量,并通过将其乘以 POSIT 给出的两个旋转矩阵的逆矩阵在模型坐标系上计算它,得到模型中的两个新向量坐标系。当我在模型坐标系中计算这两个向量之间的角度时,输出不是应该的 - 10 度。
有谁知道我哪里出错了?
matlab - 姿态估计
在您的帮助下,我已经能够使用 CvPosit 来估计相机姿势(使用此链接http://www.aforgenet.com/articles/posit/)。我正在使用 MATLAB 代码。
现在我希望通过在图像坐标上投影 3D 点来验证该姿势。详细情况如下:
假设立方体的图像点和世界点是:
/li>得到的Pose为:
在我的示例中,我使用 640 作为焦距。现在从这个姿势开始,我想使用一个 3D 点并将其投影回来以获得 2D 图像点。理想情况下,我应该得到同样的观点。但我无法得到它。我在 MATLAB 中使用以下方式:
比方说
P = [28;28;28;28;1] % 4 X 1 matrix for a 3D point
我得到
x = 15251
和y = 27447
。我不知道我在这里做错了什么。请帮帮我!!