![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
相机和激光雷达标定
文章平均质量分 82
点亮~黑夜
敢问路在何方,路在脚下!
展开
-
把ros2录制的bag包转换为ros1格式的bag包
把ros2录制的bag包转换为ros1格式的bag包1 安装ros2和ros1之间通信的库包2 把录制的ros2的bag包转换ros1格式的bag包2.1 启动ros2到ros1的桥2.2 使用ros2播放ros2的bag包2.3 使用ros1录制包2.5 其他注意事项1 安装ros2和ros1之间通信的库包安装ros-eloquent-ros1-bridge,这个库包主要是用于ros2和ros1之间的通信sudo apt updatesudo apt install ros-eloquent-r原创 2021-05-20 10:15:53 · 2274 阅读 · 12 评论 -
从bag包中提取图片和点云数据为pcd格式点云文件
从bag包中提取图片和点云数据为pcd格式点云文件1 开始提取bag包之前的准备工作2 从bag包中提取图片和点云数据首先说明一下我运行的系统环境:python2Ubuntu18.04ROS melodic1 开始提取bag包之前的准备工作1、首先查看一下自己的bag包中,相机和激光雷达的topic(base) shl@zhihui-mint:~$ rosbag info 2021-03-24-11-01-45.bagpath: 2021-03-24-11-01-45.原创 2021-05-07 14:30:56 · 4099 阅读 · 6 评论 -
一文了解PnP算法,python opencv中的cv2.solvePnP()的使用,以及使用cv2.sovlePnP()方法标定相机和2D激光雷达
1、在opencv中的slovePnP函数的定义,我们可以看到关于flags参数的相关的选择及其含义:flags=cv2.SOLVEPNP_ITERATIVESOLVEPNP_ITERATIVE迭代方法基于Levenberg-Marquardt优化。 在这种情况下,函数会找到一个使重新投影误差最小的位姿(pose),该位姿是观察到的投影imagePoints与使用projectPoints将objectPoints投影的点之间的平方距离的总和。2、Levenberg-Marquardt法(LM法原创 2021-04-22 19:55:03 · 44484 阅读 · 10 评论 -
AprilTags二维码的检测与应用
AprilTags二维码的检测与应用1 AprilTags介绍2 使用python库包apriltag对AprilTag进行检测2.1 python模块apriltag的安装2.2 python模块apriltag的测试用例3 AprilTags二维码检测,以及绘制检测框1 AprilTags介绍AprilTag官网:https://april.eecs.umich.edu/software/apriltag1、AprilTags类似与二维码QR codes(Quick Response Code原创 2021-04-22 15:05:33 · 5705 阅读 · 0 评论 -
python3 + opencv +pyzbar实时检测二维码 / 定位二维码,并绘制出二维码的框和提取二维码内容
python3 + opencv +pyzbar实时检测二维码 / 定位二维码,并绘制出二维码的框和提取二维码内容1 pyzbar二维码检测模块1.1. pyzbar模块介绍1.2 pyzbar模块的安装1.3 pyzbar模块测试用例2 python3 + opencv +pyzbar实时检测二维码,并绘制二维码的矩形框1 pyzbar二维码检测模块pyzbar的github主页:https://github.com/NaturalHistoryMuseum/pyzbarpyzbar的pypi主页原创 2021-04-22 14:41:12 · 7793 阅读 · 28 评论 -
罗德里格斯公式推导,以及如何使用cv2.Rodrigues进行旋转矩阵和旋转向量之间的相互转化
罗德里格斯公式推导,以及如何使用cv2.Rodrigues进行旋转矩阵和旋转向量之间的相互转化1 罗德里格斯公式推导2 cv2.Rodrigues进行旋转矩阵和旋转向量之间的相互转化1 罗德里格斯公式推导参考:https://blog.csdn.net/qq_22235957/article/details/80461290 # 维基百科翻译参考:https://blog.csdn.net/q583956932/article/details/78933245参考:https://blog.cs原创 2021-04-21 20:10:17 · 8445 阅读 · 4 评论 -
python实现:旋转矩阵转换为四元数
1 python实现旋转矩阵转换为四元数例如:下面把3x3的旋转矩阵转换为四元数from pyquaternion import Quaternionrotate_matrix = [[-0.0174524064372832, -0.999847695156391, 0.0], [0.308969929589947, -0.00539309018185907, -0.951056516295153], [0.95091166578原创 2021-04-21 17:35:19 · 7622 阅读 · 6 评论 -
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现1 旋转矩阵转换为欧拉角(Euler Angles)2 欧拉角转换为旋转矩阵相机标定过程中,我们会得到一个3x3的旋转矩阵,下面是我们把旋转矩阵与欧拉角之间的相互转换:1 旋转矩阵转换为欧拉角(Euler Angles)1、旋转矩阵是一个3x3的矩阵,如下:R=(r11r12r13r21r22r23r31r32r33)R=\left(\begin{a原创 2021-04-21 16:39:30 · 9758 阅读 · 2 评论 -
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
1 右手坐标系右手坐标系如下图:X:拇指指向X轴Y:食指指向Y轴Z:中指指向Z轴可能很多人还是记不住,我个人总结两个小技巧,很容易牢记右手坐标系:X、Y、Z的顺序刚好也是对应手指大拇指、食指、中指也是顺序排列的做一个右手坐标系的姿势,然后让食指(Y轴)指向别人的姿势,很容易就可以把右手坐标系画出来如下,是我画的右手坐标系:1.1 旋转90度是什么样的例如X轴顺时针旋转90度,为了验证这个旋转结果是否正确,我们需要弄清楚这个90度是怎么旋转的:可以从原点(0,0,0)向X轴原创 2021-04-21 16:02:56 · 7486 阅读 · 3 评论 -
使用ros标定相机的内参和外参
1 安装依赖1、安装依赖rosdep install camera_calibration注意:我的系统是Mint19.04,因此安装的过程中会报如下错误:(base) shl@zhihui-mint:~$ rosdep install camera_calibrationERROR: the following packages/stacks could not have their rosdep keys resolvedto system dependencies:camera_原创 2021-04-16 14:44:00 · 7089 阅读 · 24 评论 -
基于平面的约束2D激光雷达和相机的联合标定(2D Laser and Camera Calibration )原理及项目代码具体使用——旷视
1 基于平面的约束2D激光雷达和相机的联合标定(2D Laser and Camera Calibration )原理这是旷视做的一个关于2D激光雷达和相机的联合标定算法,在看这个标定算法之前,你可以先看下关于相机的内参标定原理该方法基于 ROS 的单线激光和相机外参数自动标定代码。标定原理如下图所示,相机通过二维码估计标定板平面在相机坐标系下的平面方程,由于激光点云落在平面上,将点云通过激光坐标系到相机坐标系的外参数 TclT_{cl}Tcl 转换到相机坐标系,构建点到平面的距离作为误差,使用非线性原创 2021-04-13 18:43:06 · 5890 阅读 · 36 评论