camera-calibration相关内容

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

我正在尝试获取校准棋盘的阈值.观察微型棋盘时,由于有些灰尘,我无法直接检测到棋盘角. 我尝试了几种方法,而HoughLinesP似乎是最简单的方法.但是结果不好,如何改善我的结果? import numpy as np import cv2 img = cv2.imread('lines.jpg') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) e ..
发布时间:2020-05-20 19:18:52 Python

如何使用openCV用广角镜正确校准相机?

我正在尝试用鱼眼镜头校准相机.因此,我使用了鱼眼镜头模块,但是无论我修复了什么畸变参数,都会得到奇怪的结果. 这是我使用的输入图像: https://i.imgur.com/apBuAwF.png 红色圆圈表示我用来校准相机的角. 这是我能得到的最好结果,输出: https://imgur.com/a/XeXk5 我目前根本不知道相机传感器的尺寸是多少,但是基于硝化矩阵中正在计算 ..
发布时间:2020-05-20 19:18:00 C/C++开发

OpenCV鱼眼校准会剪切掉太多的结果图像

我正在使用OpenCV校准使用带鱼眼镜头的相机拍摄的图像. 我正在使用的功能是: findChessboardCorners(...);查找校准图案的角. cornerSubPix(...);细化找到的角. fisheye::calibrate(...);用于校准相机矩阵和失真系数. fisheye::undistortImage(...);使用从校准获得的相机信息使图像不失真. ..
发布时间:2020-05-20 19:16:23 C/C++开发

相机姿态估计(OpenCV PnP)

我正在尝试使用网络摄像头从四个具有已知全局位置的基准的图像中获取全局姿态估计. 我检查了很多stackexchange问​​题和几篇论文,但似乎无法找到正确的解决方案.我得到的位置编号是可重复的,但绝不会与相机的移动成线性比例.仅供参考,我正在使用C ++ OpenCV 2.1. 在此链接处显示的图片 我的坐标系和下面使用的测试数据. % Input to solvePnP(): ..

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

我正在尝试使用单应性在Blender 3d中校准并找到单个虚拟相机的位置和旋转.我正在使用Blender,以便在进入更困难的现实世界之前可以仔细检查结果. 我从固定相机的角度拍摄了十张国际象棋棋盘在不同位置和旋转位置的图片.使用OpenCV的Python,我用cv2.calibrateCamera从十张图像中棋盘的检测到的角落中找到了本征矩阵,然后在cv2.solvePnP中使用了它来查找外 ..
发布时间:2020-05-20 19:07:15 Python

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

我有一项任务是在3D坐标系中定位对象.由于我必须获得几乎精确的X和Y坐标,因此我决定跟踪一个具有已知Z坐标的颜色标记,该颜色标记将放置在移动对象的顶部,如该图中的橙色球: 首先,我完成了相机校准以获取固有参数,然后使用cv :: solvePnP来获取旋转和平移矢量,如以下代码所示: std::vector imagePoints; std::vector ..
发布时间:2020-05-20 19:04:55 其他开发

相机校准,将像素反向投影到方向

我正在使用OpenCV从一系列棋盘图像中估计摄像头的固有矩阵-如最终目标是让用户选择图像上的一个点,估计该点相对于摄像头中心的方向,并将其用作波束形成算法的DOA. 因此,一旦估算出本征矩阵,便会反向投影用户选择的像素(请参见下面的代码),并将其显示为方位角/仰角. result = [0, 0, 0] # reverse projected point, in homogeneou ..
发布时间:2020-05-07 19:09:59 Python

相机校准opencv python的鸟瞰透视图转换

我正在尝试从相机的固有,外在矩阵和失真系数中获得鸟瞰视角的变换. 我尝试使用这个问题的答案. > 使用的图像是来自opencv官方github存储库的样本图像left02.jpg 我校准了相机,发现了固有的,非固有的矩阵和失真系数. 我未扭曲图像并找到姿势.检查参数是否正确. 我用来查找透视变换矩阵的方程是(请参阅上面的链接): Hr = K * R.inv() * ..
发布时间:2020-05-07 19:03:33 Python

在立体声重建中获得最大准确性的棋盘格规格(校准)

我必须重建一个物体,该物体将放置在距立体声设置基准线约1米至1.5米的位置.两台摄像机拍摄的图像均具有高分辨率(10 MP) 在所有三个坐标轴上,我必须检测到的位置的精度为+/- 0.5mm. (如果您需要更多详细信息,请告诉我) 对于这些,棋盘格(用于校准)的最佳规格应该是什么? 我只知道它应该是不对称的板.应将其放置在与预期放置对象的范围相同的距离范围内.另外,它应该以所有可 ..

使用OpenCV和Matlab从校准的图像和三角形网格生成深度图

我想使用从Matlab 2014b调用的OpenCV(使用OpenCV绑定)从校准的图像和三角形网格中提取深度图.我是Matlab的普通用户,但对OpenCV还是陌生的.我有以下输入内容: im-场景的未失真RGB图像 或-摄像机位置矢量 R-描述相机姿态的旋转矩阵 点-代表场景的nx3个三角形网格顶点列表 faces-mx3三角形网格面列表 EFL-图像有效焦 ..
发布时间:2020-05-06 14:15:27 其他开发

相机校准MATLAB工具箱

我必须对3D点进行重新投影(我已经有来自Bundler的数据). 我正在使用MATLAB中的“相机校准"工具箱来获取相机的固有参数.我从27张图像(棋盘;图像从不同角度拍摄)中得到了这样的输出. Calibration results after optimization (with uncertainties): Focal Length: fc = [ 2104.1169 ..
发布时间:2020-05-06 13:33:31 其他开发

了解openCV不失真

我正在通过MATLAB接收tof camera的深度图像.使用openCV函数从tof相机提供的用于计算深度图像之外的x,y,z坐标的驱动程序,该功能通过通过mex文件实现. 但是后来我不能再使用这些驱动程序,也不能使用openCV函数,因此我需要自己实现2d到3d映射,包括径向变形的补偿.我已经掌握了相机参数,并且深度图像的每个像素的x,y,z坐标计算都可以进行.直到现在,我仍通过牛顿法( ..
发布时间:2020-05-06 12:45:42 其他开发

来自基本矩阵的投影矩阵

我已经获得了两台相机之间的基本矩阵.我也将它们的内部参数保存在3 X 3矩阵中,该矩阵是我之前通过国际象棋棋盘获得的.使用基本矩阵,我通过 获得了P1和P2 P1 = [I | 0]和P2 = [ [e']x * F | e'] 这些投影矩阵对于获取确切的3D位置并不是很有用. 由于我具有内部参数K1和K2,因此将P1和P2更改为 P1 = K1 * [I | 0]和P2 = K2 ..
发布时间:2020-05-06 12:44:02 其他开发

增强现实OpenGL + OpenCV

我是OpenCV的新手,在OpenGL方面的经验有限.我愿意将3D对象覆盖在棋盘的校准图像上.有任何提示或指导吗? 解决方案 基本概念是,您有2台摄像机:一台是物理摄像机(一台要使用opencv检索图像的摄像机),一台是opengl摄像机.您必须对齐这两个矩阵. 为此,您需要校准物理摄像机. 首先.您需要一个失真参数(因为每个镜头或多或少都有一定的光学畸变),并使用这些参数构建 ..

OpenCV OpenNI校准Kinect

我在家中用kinect捕获: capture.retrieve( depthMap, CV_CAP_OPENNI_DEPTH_MAP ) capture.retrieve( bgrImage, CV_CAP_OPENNI_BGR_IMAGE ) 现在我不知道是否必须校准kinect才能使深度像素值正确. 也就是说,如果我从图像RBG中获取一个像素(u,v),请从图像深度中获取像素(u,v ..
发布时间:2020-04-26 09:49:50 其他开发

使用OpenCV从屏幕坐标计算世界坐标

我已经使用OpenCV计算了摄像机的内部和外部参数. 现在,我想根据屏幕坐标(u,v)计算世界坐标(x,y,z). 我该怎么做? 当我使用kinect时,我已经知道z坐标. 我们非常感谢您的帮助.谢谢! 解决方案 首先了解您如何计算它,如果您阅读有关针孔相机模型和简单透视投影的一些知识,将对您有所帮助.可以快速浏览一下此.我会尝试更新更多. 因此,让我们从描述相机工 ..
发布时间:2020-04-26 09:49:04 其他开发