草庐IT

投影仪标定

全部标签

一起学 WebGL:可视空间之正射投影

嗨,大家好呀,我是你们的前端西瓜哥啊。上一节我们学习了 视图矩阵,通过它我们可以像一个自由的摄像机一样,可以在三维世界的任意位置观察目标模型,但也遇到了一些问题。其中一个问题就是,在超过某个临界值时。三角形会出现残缺的现象,甚至直接不见了,见下图。这是为什么呢?对应源码:https://codesandbox.io/s/j86roh?file=/index.js。可视空间上面残缺的情况会在z变得比较大时出现。所谓视图矩阵,其实利用的是一种相对关系。我们没有移动,坐标系的原点还是在画布的中心位置,但视图矩阵可以计算出模型新的位置,给一个更小的z,其实就是这个模型的所有顶点在远离我们。但是,部分像

c# - 基本渲染 3D 透视投影到带摄像头的 2D 屏幕(不带 opengl)

假设我有一个如下所示的数据结构:Camera{doublex,y,z/**ideallythecameraangleispositionedtoaimatthe0,0,0point*/doubleangleX,angleY,angleZ;}SomePointIn3DSpace{doublex,y,z}ScreenData{/**Convertfromsomepoint3dspaceto2dspace,endupwithx,y*/intx_screenPositionOfPt,y_screenPositionOfPtdoublezFar=100;intwidth=640,height=4

c# - 基本渲染 3D 透视投影到带摄像头的 2D 屏幕(不带 opengl)

假设我有一个如下所示的数据结构:Camera{doublex,y,z/**ideallythecameraangleispositionedtoaimatthe0,0,0point*/doubleangleX,angleY,angleZ;}SomePointIn3DSpace{doublex,y,z}ScreenData{/**Convertfromsomepoint3dspaceto2dspace,endupwithx,y*/intx_screenPositionOfPt,y_screenPositionOfPtdoublezFar=100;intwidth=640,height=4

用OpenCV进行相机标定(张正友标定,有代码)

目录1.内参与畸变2.用OpenCV标定相机程序3.画棋盘标定板4.OpenCV拍照1.内参与畸变理论部分可以参考其他博客或者视觉slam十四讲相机标定主要是为了获得相机的内参矩阵K和畸变参数内参矩阵K畸变系数:径向畸变(k1,k2,k3),切向畸变(p1,p2)径向畸变公式切向畸变公式张正友标定方法能够提供一个比较好的初始解,用于后序的最优化.这里用棋盘格进行标定,如果能够处理圆的偏心误差问题,用圆形图案标定板可能效果更好.至少三张图片,一般用10-20张图片为最佳,要保证相机视野内各个角度,各个位置,各个方向都有图像.尽量多角度多位置.最好用买的标定板,效果好,平.最好是背光板,能够保证足

ORBBEC(奥比中光)AstraPro相机在ROS2下的标定与D2C(标定与配准)

文章目录1.rgb、depth相机标定矫正1.1.标定rgb相机1.2.标定depth相机1.3.rgb、depth相机一起标定(效果重复了,但是推荐使用)1.4.取得标定结果1.4.1.得到的标定结果的意义1.5.IR、RGB相机分别应用标定结果1.5.1.openCV应用标定结果1.5.2.ros2工程应用标定结果2.rgb、depth相机配准2.1.单图像配准2.1.1.求IR、RGB相机各自的外参(R、T矩阵)2.1.2.求两个相机之间的R、T矩阵2.1.3进行D2C操作2.2.多图像配准2.2.1.求两个相机之间的R、T矩阵2.2.2.进行D2C配准3.题外话3.1.点云的坐标变换3

一文聊聊激光雷达与相机标定的时间戳同步问题

01相机特性-曝光和读出相机获取一帧图像分为曝光和读出两个阶段。相机使用的传感器不同,相机的曝光时间和读出时间的重叠关系也有所不同,分为交叠曝光和非交叠曝光两种。叠曝光和非交叠曝光相比,交叠曝光可以减少曝光时间对出图时间的影响。非交叠曝光是指当前帧的曝光和读出都完成后,再进行下一帧的曝光和读出。非交叠曝光帧周期大于曝光时间与帧读出时间的和。内触发模式非交叠曝光交叠曝光是指当前帧的曝光和前一帧的读出过程有重叠,即前一帧读出的同时,下一帧已经开始曝光。交叠曝光帧周期小于等于曝光时间与帧读出时间的和。内触发模式交叠曝光对!上一段就是为了告诉你:后文叙述中无论当前帧曝光时间和上一帧的读出时间是否重叠都

相机模型、相机标定及基于yolov5的单目测距实现

相机模型、相机标定及基于yolov5的单目测距实现1前言2相机模型及单目测距原理3相机参数标定3.1内参矩阵3.2内参标定3.3外参矩阵4基于yolov5的单目测距实现1前言在摄像头成像过程中,物体反射的光线通过摄像头的凸透镜打在成像器件上,形成一张图片。这是一个三维物体转换为二维图像的过程。在这个过程中,丢失了物体的深度信息,所以单目摄像头很难测距。但是,我们可以通过一个强假设,来简单计算物体的距离,即假设物体是处于地面上。具体意思下面再详细说。2相机模型及单目测距原理相机模型可以简单看成一个凸透镜成像的模型。下图中,XcYcZc是相机坐标系,其原点为光心O,是相机凸透镜的中心点。x-o1-

相机模型、相机标定及基于yolov5的单目测距实现

相机模型、相机标定及基于yolov5的单目测距实现1前言2相机模型及单目测距原理3相机参数标定3.1内参矩阵3.2内参标定3.3外参矩阵4基于yolov5的单目测距实现1前言在摄像头成像过程中,物体反射的光线通过摄像头的凸透镜打在成像器件上,形成一张图片。这是一个三维物体转换为二维图像的过程。在这个过程中,丢失了物体的深度信息,所以单目摄像头很难测距。但是,我们可以通过一个强假设,来简单计算物体的距离,即假设物体是处于地面上。具体意思下面再详细说。2相机模型及单目测距原理相机模型可以简单看成一个凸透镜成像的模型。下图中,XcYcZc是相机坐标系,其原点为光心O,是相机凸透镜的中心点。x-o1-

双目立体视觉之Halcon标定

标定结果Halcon标定过程获取左右相机图像中标定板的区域;find_caltab(Image : CalPlate : CalPlateDescr, SizeGauss, MarkThresh, MinDiamMarks :)参数含义:Image :        输入图像CalPlate :     标定板区域CalPlateDescr:   标定板描述文件SizeGauss:      高斯滤波核;MarkThresh,      提取mark的阈值MinDiamMarks :   标定板中MARK圆的最小半径提取左右相机图像中标定板的MARK点坐标和摄像机外部参数;find_marks

张正友标定论文的解读和C++代码编写

1.概述张正友标定相机内参是非常经典的标定算法,现在代码已经被集成到MATLAB和opencv里面。不过因为算法涉及到基础的相机坐标系、图像坐标系、公式推导,以及优化算法,故根据张正友论文进行分模块代码编写。2.代码地址https://github.com/Shelfcol/Zhangzhengyou_calib_cam_intrinsic3.简单解析此C++代码是根据张正友的步骤进行分模块编写的,自认为逻辑还是比较清晰。分别为:求H、求K、求旋转平移、求畸变稀疏、Ceres优化boolCamIntrCalib::Calibrate(){std::cout代码里面也对比实现了调用opencv算