三维重建
文章平均质量分 80
求则得之,舍则失之
这个作者很懒,什么都没留下…
展开
-
相机标定与3D重建(3)使用OpenCV对摄像机进行标定
相机已经存在很长很长时间了。然而,随着20世纪末廉价针孔相机的出现,针孔相机在我们的日常生活中司空见惯。不幸的是,这种廉价是有代价的:严重的扭曲。幸运的是,这些都是常量,通过标定和一些重新映射,我们可以纠正这一点。此外,通过标定,还可以确定相机的自然单位(像素)和现实单位(例如毫米)之间的关系。1.理论对于畸变,OpenCV考虑了径向和切向畸变。对于径向畸变,采用以下公式:xdistorted=x(1+k1r2+k2r4+k3r6)ydistorted=y(1+k1r2+k2r4+k3r6)x_{d原创 2023-02-02 08:56:17 · 820 阅读 · 0 评论 -
三维重建知识总结
来自大佬的GitHubORB-SLAM3已出,github地址参考目录https://github.com/ethan-li-coding/Summary-of-3D-Reconstruction转载 2022-01-14 09:31:35 · 133 阅读 · 0 评论 -
视觉测量方法
原创 2022-01-11 17:17:28 · 929 阅读 · 0 评论 -
相机标定与3D重建(4)评估单台相机标定的准确性
此示例说明如何评估使用cameraCalibrator应用程序或estimateCameraParameters函数估计的相机参数的准确性。1.概述相机标定是使用特殊校准图案的图像估计相机参数的过程。参数包括相机内在参数、畸变系数和相机外在参数。相机标定后,有几种方法可以评估估计参数的准确性:绘制相机的相对位置和标定模板计算重投影误差计算参数估计误差2.相机标定使用一组棋盘格图案估计相机参数。% Create a set of calibration images.images = i原创 2021-12-24 14:18:26 · 3381 阅读 · 2 评论 -
相机标定说明
相机标定是准确确定相机和镜头模型参数的过程。对于针孔模型,这相当于确定合适的相机模型的参数。至少是焦距 fff,可能还有中心点坐标 (cx,cyc_x, c_ycx,cy) 和镜头畸变参数 k\boldsymbol{k}k。在最常见的离线标定过程中,图像是在特定约束下拍摄的。标定对象定义了一个世界坐标系,使得视觉特征的 3D 坐标是已知的。大多数这些方法通过观察具有已知视觉特征的标定对象来工作。当需要完全控制标定程序并要求高精度时,这是首选。1.相机型号在任何相机标定工作中,选择合适的相机模型至关原创 2021-12-22 09:09:34 · 1097 阅读 · 0 评论 -
使用Python和OpenCV查找相机到物体/标记物的距离(1)
在这篇博文中,我将向你展示如何想出一个解决方案来计算我们的相机到一个已知物体或标记物的距离。1.物体/标记与相机距离的三角形相似性为了确定从我们的相机到一个已知物体或标记物的距离,我们将利用三角形相似性。三角形相似性大致是这样的:假设我们有一个已知宽度为w的标记或物体,然后将这个标记放置在距离相机D的距离处。我们用相机拍下物体的照片,然后测量它的视宽度(像素P)。这允许我们推导出相机的感知焦距F:F = (P x D) / W例如,假设我放置一张8.5 x 11英寸的标准纸(水平;W = 11),.原创 2021-12-20 16:11:44 · 4096 阅读 · 1 评论 -
相机模型说明
相机模型是任何标定程序的核心。因此,为了更好地了解影响相机标定的因素,值得深入研究相机模型。1.针孔模型相机模型将 3d 中的点与其在相机图像上的投影相关联。到目前为止,最常见的模型是针孔相机模型,它的基本假设是光线通过一个无限小的光圈(针孔)进入相机,如下图所示。在数学和计算机视觉领域,三维空间中的点通常表示为 Q=[x,y,z].Q=[x,y,z] .Q=[x,y,z]. 它们在相机图像上的对应投影为 q=[u,v,1].q=[u,v,1] .q=[u,v,1]. qqq 中的“1”是必需的,因原创 2021-12-15 11:11:28 · 697 阅读 · 0 评论 -
标定板基材
1.常见的标定板基材标准铝/低密度聚乙烯复合材料。朗伯基板蜂窝铝单向碳纤维玻璃(浮法玻璃、钠钙或石英)陶瓷制品被动热基板固体金属(钢、铝)逆反射基板丙烯酸2.标准铝/低密度聚乙烯复合材料基材是铝和低密度聚乙烯(LDPE)的复合材料。占厚度大部分的 LDPE 夹在两片铝薄板(每片 0.3 毫米)之间。这种基材在刚度和重量之间提供了很好的折衷。使用专门的印刷工艺将图案转移到复合材料上,从而实现超耐用的饰面。因此,它重量轻、成本低、坚固且平坦。如果需要机械特性,它很容易切割和加工。原创 2021-12-10 14:14:00 · 1576 阅读 · 1 评论 -
相机标定与3D重建(0)标定板说明
准确标定相机对于任何机器/计算机视觉设置的成功都很重要。但是,有不同的标定板可供选择。为了让您更轻松地进行选择,本文解释了每种方法的主要优点。标定板尺寸在选择标定板时,一个重要的考虑因素是它的物理尺寸。这与最终应用的测量视场 (FOV) 相关。这是因为相机需要专注于该特定距离并进行标定。改变对焦距离会略微影响焦距,这会导致之前的任何标定失效。即使是光圈变化通常也会对标定有效性产生负面影响,这就是应该避免它们的原因。为了准确标定,如果摄像机看到标定目标填充图像的大部分,那么相机模型是最受约束的。通俗地原创 2021-12-08 09:48:27 · 1556 阅读 · 0 评论 -
XML和YAML文件的输入和输出
1.目标您将找到以下问题的答案:如何打印和读取文本条目到一个文件和OpenCV使用YAML或XML文件?如何做相同的OpenCV数据结构?如何为自己的数据结构做到这一点?使用OpenCV的数据结构,如cv::FileStorage, cv::FileNode或cv::FileNodeIterator。2.源代码下面是如何实现目标列表中列举的所有内容的示例代码。2.1 C++代码#include <opencv2/core.hpp>#include <iostream原创 2021-12-07 08:56:53 · 554 阅读 · 0 评论 -
相机标定与3D重建(2)创建标定板(下)
这个小应用程序可以将一些常用的 opencv 标记,例如 ArUco、ArUcoGrid、Chessboard 和 ChArUco 保存到矢量图形文件中。支持的矢量图形文件格式:.svg、.pdf 和 .ps。(实测中,直接生成pdf文件错误,文件为空,但是可以先生成svg文件然后利用svg2pdf生成pdf文件即可)1.依赖库numpy (pip install numpy)PIL (pip install pillow)cairo (pip install pycairo)cairosvg原创 2021-12-02 14:58:47 · 2583 阅读 · 0 评论 -
相机标定与3D重建(1)创建标定板(上)
本教程的目标是学习如何创建标定板。1.方法(一)利用第三方在线生成https://calib.io/pages/camera-calibration-pattern-generator可以根据所需定制标定板,并下载一个可打印的PDF文件。**注意:**在标准喷墨打印机或激光打印机上打印时,请确保您的软件或打印机不应用任何缩放模式。还要确保在打印机驱动程序中没有执行光栅化。最好是在打印后手动测量最终图案。2.方法(二)OpenCV实现标定板生成2.1使用OpenCV提供的标定板OpenCV提供的原创 2021-12-02 11:35:44 · 7312 阅读 · 1 评论