camera-calibration相关内容

FindChessboardCorners 无法通过长焦距镜头检测非常大的图像上的棋盘

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

Python Opencv SolvePnP 产生错误的翻译向量

我正在尝试使用单应性校准并找到 Blender 3d 中单个虚拟相机的位置和旋转.我正在使用 Blender,以便在进入更困难的现实世界之前,我可以仔细检查我的结果. 我在固定相机的视野中渲染了十张棋盘在不同位置和旋转的图片.使用 OpenCV 的 Python,我使用 cv2.calibrateCamera 从十张图像中检测到的棋盘角中找到内在矩阵,然后在 cv2.solvePnP 中使用 ..
发布时间:2021-12-10 20:34:56 Python

如果已知外在和内在参数,则从 2D 图像像素获取 3D 坐标

我正在使用 tsai algo 进行相机校准.我得到了内在和外在矩阵,但如何从该信息重建 3D 坐标? 1) 我可以使用高斯消元法找到 X、Y、Z、W,然后点将是 X/W 、 Y/W 、 Z/W 作为齐次系统. 2) 我可以使用OpenCV 文档方法: 据我所知 u, v, R , t ,我可以计算 X,Y,Z. 然而,这两种方法最终都会得到不正确的不同结果. 我做错 ..

从图像点计算 x,y 坐标 (3D)

我的任务是在 3D 坐标系中定位一个对象.由于我必须获得几乎精确的 X 和 Y 坐标,因此我决定跟踪一个具有已知 Z 坐标的颜色标记,该标记将放置在移动对象的顶部,例如这张图片中的橙色球: 首先,我完成了相机校准以获取内在参数,然后我使用 cv::solvePnP 获取旋转和平移向量,如下面的代码所示: std::vector图像点;std::vector对象点;//img点是图片中的绿点 ..
发布时间:2021-12-10 20:17:25 其他开发

如何验证网络摄像头校准的正确性?

我对相机校准技术完全陌生……我正在使用 OpenCV 棋盘技术……我正在使用 Quantum 的网络摄像头…… 这是我的观察和步骤.. 我一直保持每个国际象棋的正方形边长 = 3.5 厘米.这是一个 7 x 5 棋盘,带有 6 x 4 内角.我在距离网络摄像头 1 到 1.5 m 的地方拍摄了总共 10 张不同视图/姿势的图像. 我正在按照 Bradski 的 Learning ..
发布时间:2021-12-10 20:12:32 其他开发

增强现实OpenGL+OpenCV

我对 OpenCV 非常陌生,对 OpenGL 的经验有限.我愿意在棋盘格的校准图像上覆盖 3D 对象.有什么提示或指导吗? 解决方案 基本的想法是你有 2 个摄像头:一个是物理的(你用 opencv 检索图像的那个),一个是 opengl 的.您必须对齐这两个矩阵. 为此,您需要校准物理相机. 首先.您需要一个畸变参数(因为每个镜头或多或少都有一些光学畸变),并使用这些参数构 ..

MATLAB - Matlab Camera Calibration Toolbox 的单位是什么

当显示校准的外在参数(包括相机位置和校准棋盘位置的 3D 模型)时,工具箱不包括轴的单位.假设它们以毫米为单位似乎是合乎逻辑的,但如果它们确实以毫米为单位,则显示的 z 值不可能正确.我假设正在进行一些转换,可能与光学坐标和单位有关,但我无法从文档中弄清楚.有没有人解决过这个问题? 解决方案 我对 matlabs 几乎一无所知(不完全正确,但我尽可能避免使用 matlab,这几乎总是可能的 ..
发布时间:2021-11-25 04:53:39 C#

使用基本矩阵 opencv 确定相机运动

我尝试使用 opencv 从基本矩阵确定相机运动.我目前正在使用光流来跟踪每隔一帧中点的移动.基本矩阵是从基本矩阵和相机矩阵派生出来的.我的算法如下 1.使用goodfeaturestotrack函数从帧中检测特征点. 2.跟踪点到下两帧或三帧(Lk 光流),在此期间使用对应点计算平移和旋转向量 3.两三帧后刷新点(使用goodfeaturestotrack).再次找到平移和旋转 ..
发布时间:2021-11-25 03:55:26 C#

给定 4 个已知点的相机像素到平面世界点

我假设的问题很简单,但由于我不久前在线性代数方面的经验,我仍然无法解决它.我已经阅读了几所大学发表的演讲,但我似乎无法遵循有些非标准化的符号.如果有人有更好的例子,将不胜感激... 问题:相机面向地板向下倾斜.给定一个像素坐标,我希望能够获得地板平面上的相应 3D 世界坐标. 已知: 地板上的 4 个点,我知道 Pixel(x,y) 坐标和相关的 World(X,Y,Z=0) 坐 ..
发布时间:2021-11-25 03:43:20 C#

如何使用 OpenCV 绘制 3D 坐标轴进行面部姿态估计?

假设我有面欧拉角(俯仰、偏航、滚动).如何绘制显示人脸姿势的3D坐标轴? 这是一个来自 这里: 解决方案 只要你有相机参数,这可以在纯 OpenCV 中完成.您应该能够创建对应于 x、y、z 轴的三个向量(基本上点 [0,0,0] [1, 0, 0], [0, 1, 0], [0, 0, 1] 其中您稍后将投影到图像平面中.您应该首先根据您的偏航/俯仰/滚动(例如,将它们乘以旋转矩阵 ..
发布时间:2021-11-25 02:24:36 C#

与消失点和地平线相关的 3D 对象的变换

我正在尝试从图片的消失点和地平线开始计算 3D 对象的准确预期变换. 我想要的是,固定图片的消失点和水平线,我想根据我从图片开始设置的消失点和水平线旋转和倾斜3D对象 低于我预期的最终结果. 我怎样才能得到这个结果? 我可以使用什么样的转换? 在这个视频中可以看到我想要的结果. https://www.youtube.com/watch?v=EsSerR-AjE ..
发布时间:2021-11-25 00:37:27 C#

Swift:在 ARKit 中获取用于面部跟踪的 TruthDepth 相机参数

我的目标: 我正在尝试在进行面部跟踪时获取 TruthDepth 相机的 TruthDepth 相机参数(例如内在、外在、镜头畸变等).我读到有示例并且可以使用 OpenCV.我只是想知道是否应该在 Swift 中实现类似的目标. 我读过和尝试过的: 我阅读了关于 ARCamera 的苹果文档:intrinsics 和AVCameraCalibrationData:extrins ..
发布时间:2021-11-17 21:21:00 移动开发

您如何重新分配观点?

我在使用 Cv2.Undistort()的图像上变形了,这使图像变直了.之后,我在图像中找到了一些要点.我需要获取变形图像中这些点的位置. 我尝试了 Cv2.ProjectPoints(),但未能获取适当的坐标.它们超出了图像的范围. 这就是我要做的事情: Listarr = new List();foreach(以点为单位的var i){arr.A ..
发布时间:2021-04-21 19:11:44 C#/.NET

相机校准代码-OpenCV错误:断言失败

我正在尝试执行此代码进行相机校准.这段代码正在检测拐角,但是在出现该错误之后. OpenCV错误:未知函数,文件中的断言失败(nimages> 0)...... \ modules \ calib3d \ src \ calibration.cpp,第3415行追溯(最近通话最近):文件"C:/Users/uidn1759/PycharmProjects/Camera Calibration ..
发布时间:2021-04-21 19:11:40 Python

OpenCV:基本矩阵精度

我正在尝试计算2张图像(同一台相机拍摄的静态场景的不同照片)的基本矩阵. 我使用 findFundamentalMat 进行了计算,然后使用该结果来计算其他矩阵(基本,旋转,...).结果显然是错误的.因此,我试图确保所计算的基本矩阵的准确性. 使用极约束方程,我计算了基本矩阵误差.误差非常高(几百个).我不知道我的代码有什么问题.我非常感谢您的帮助.特别是:基本矩阵计算中是否缺少任何 ..

使用Python和OpenCV错误校准网络摄像头

这一切还很新,我正在尝试按照 0&ni == ni1在函数collectCalibrationData中 解决方案 我遇到了同样的问题,而您的主要错误(我知道是因为我自己做的)是您更改了棋盘格大小(示例中的默认值为7x6),您的尺寸为6x9),但是您忽略了在例程顶部的初始化代码中更改大小 objp = np.zeros((6 * 7,3),np.float32)objp [:,:2] ..
发布时间:2021-04-21 19:11:30 Python