自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 问答 (1)
  • 收藏
  • 关注

原创 相机渐晕现象(图像中心过亮、边缘较暗)

摘要:图像中心过亮、边缘较暗的现象称为渐晕,主要由光学遮挡(大光圈或广角镜头更明显)、机械遮挡(滤镜或遮光罩不当)及自然光衰减(cos⁴定律)导致。廉价或手机镜头因设计简化、结构紧凑更易出现。可通过缩小光圈、移除多余滤镜或后期校正改善。实际是边缘失光而非中心增亮。(149字)

2025-12-06 17:43:22 540

原创 雅可比矩阵与向量函数的导数关系

本文讨论了向量函数 (\mathbf{v}_1 = \mathbf{f}(\mathbf{v}_2)) 的雅可比矩阵计算问题。当(\mathbf{v}_1 = R\mathbf{v}_2)((R)为常数矩阵)时,雅可比矩阵(\frac{d\mathbf{v}_1}{d\mathbf{v}_2} = R)。特别地,(\mathbf{v}_1)第一个元素对(\mathbf{v}_2)的偏导数对应于矩阵(R)的第一行元素。该结果验证了分子布局下雅可比矩阵的结构,说明向量函数的导数可以直接由变换矩阵表示。

2025-12-06 17:41:33 850

原创 根据相机内参和图像大小计算视场角

本文基于针孔相机模型推导了视场角(FOV)的计算公式。通过相机内参矩阵(包含焦距fx、fy和主点cx、cy)和图像分辨率(W×H),分别给出了水平视场角(HFOV)和垂直视场角(VFOV)的精确表达式。当主点居中时,公式可简化为2*arctan(W/(2fx))的形式。同时提供了对角线视场角(DFOV)的近似计算方法,并指出FOV计算基于理想无畸变模型,与实际镜头畸变无关。最终给出通用计算公式,所有角度结果以弧度为单位,可转换为度数。

2025-12-06 17:39:16 770

原创 旋转矩阵的几何意义(每行每列的意义)

本文阐述了旋转矩阵的产生及其几何意义。通过固定向量在两个正交坐标系下的坐标变换关系,推导出旋转矩阵$R$的表达式:$R$的每一列对应旋转后新坐标系基向量在原坐标系中的坐标表示。以绕z轴旋转为例,验证了该理论,说明旋转矩阵的列向量满足正交归一性,且行列式为+1。同时指出$R$的行向量表示原基向量在新坐标系中的坐标。这种列/行视角的对应关系揭示了旋转矩阵的几何本质。

2025-12-06 17:36:44 834

原创 卡尔曼滤波对非线性公式建模的详细步骤

本文介绍了考虑空气阻力的运动模型及卡尔曼滤波方法。运动模型中,空气阻力公式为 ( F = \frac{1}{2} \rho v^2 C_d A ),其中速度平方项对阻力影响显著。状态向量包含位置和速度分量,动力学方程描述了非线性运动过程,离散化后可用于数值计算。卡尔曼滤波部分包括线性卡尔曼滤波(KF)和扩展卡尔曼滤波(EKF),KF适用于线性高斯系统,而EKF通过局部线性化处理非线性问题。EKF的核心是利用雅可比矩阵对非线性函数进行近似,并沿用KF框架进行状态估计和协方差更新。文章详细推导了状态预测和协方差

2025-09-19 21:51:16 1138

原创 Docker加速下载镜像的配置指南

本文介绍了如何解决Docker下载速度慢的问题。由于Docker守护进程是独立的系统服务,不会继承用户会话的代理设置,因此需要专门配置。文章详细说明了查询当前代理设置的方法,并提供了三种配置方案:通过systemd服务文件、环境变量文件或Docker配置文件设置代理。配置完成后需重启Docker服务并验证是否生效。此外,还介绍了Docker镜像的导出/导入方法以及常用Docker命令,包括查看容器、镜像和系统信息等操作指南。

2025-09-06 12:44:25 1139

原创 基于VS Code的Docker调试环境搭建

本文详细介绍了在VS Code中配置Docker开发环境进行Autoware项目调试的方法。主要内容包括:1)通过官方APT仓库安装Docker引擎并配置免sudo权限;2)拉取Autoware开发镜像;3)安装VS Code的Dev Containers插件并创建开发容器配置文件;4)配置端口转发、目录挂载和推荐扩展;5)启动容器后克隆源码、安装依赖并进行项目编译。该方案实现了开发环境的容器化隔离,同时保持与本地文件系统的同步,为Autoware等复杂项目提供了便捷的调试环境。

2025-09-06 10:45:00 1139

原创 拉普拉斯变换求解线性常系数微分方程

拉普拉斯变换是一种将时域函数转换为复频域函数的积分变换,由法国数学家拉普拉斯提出。其定义为单边积分 ( F(s) = \int_0^\infty f(t) e^{-st} dt ),能将微分方程转换为代数方程,简化求解过程。拉氏变换具有线性性质,满足可加性和齐次性。通过微分定理,可将微分运算转化为代数运算,广泛应用于微分方程求解。例如,在求解二阶微分方程时,拉氏变换可将方程转换为复频域形式,经代数运算和反变换后得到时域解。

2025-08-28 22:30:35 1647

原创 VSCode远程SSH连接OpenCV图像显示方案

本文介绍了在VS Code中通过SSH远程连接服务器时,使用X11转发解决OpenCV图像显示问题的方法。主要内容包括:1)本地安装X11服务器;2)配置SSH启用X11转发;3)服务器端安装X11工具;4)OpenCV代码中创建显示窗口的注意事项。同时提供了局域网查询服务器IP的方法,包括安装nmap工具和使用ifconfig命令查看网络信息。这些步骤可帮助开发者在无图形界面的服务器上实现图像显示功能。

2025-08-15 09:15:00 1329

原创 多线程CPU核分配调试优化指南

摘要:本文介绍了如何通过top命令监控和优化多线程程序的CPU负载均衡问题。首先使用top查看各CPU核心负载情况,识别负载不均衡问题;然后通过H键切换到线程视图,结合字段管理功能找到线程与CPU核的绑定关系;最后提出C++代码方案,使用pthread_setaffinity_np函数将指定线程绑定到特定CPU核,从而实现线程在CPU核心间的均衡分布。该方法可有效解决多线程程序中某些CPU核过载而其他核闲置的问题。

2025-08-15 09:00:00 614

原创 VSCode Python 与 C++ 联合调试配置指南

本文介绍了VSCode中配置Python与C++联合调试的方法。主要内容包括:1)配置launch.json文件,包含Python调试和C++附加调试两个配置项;2)获取Python进程ID的技巧,通过在代码中添加os.getpid()显示当前进程ID;3)使用步骤:先启动Python调试,获取进程ID后,再通过C++配置附加到指定进程。配置中需注意Python解释器的绝对路径设置,虚拟环境需使用对应路径。

2025-08-01 22:13:34 538

原创 系统开机时自动执行指令

本文介绍了如何使用systemd创建自启动服务来运行指定程序。首先创建一个服务文件/etc/systemd/system/demo.service,配置ExecStart参数指定程序路径和参数,并设置User、Restart等选项。然后通过systemctl daemon-reload加载配置,systemctl enable启用自启动。文章还提供了查看日志的方法,以及禁用和删除服务的步骤。关键配置包括程序路径、运行用户、重启策略等,适合需要开机自动运行程序的需求。

2025-08-01 22:12:58 514

原创 c++和python联合编程示例

本文介绍了如何使用pybind11将C++代码绑定到Python。首先通过pip安装pybind11,然后配置CMakeLists.txt文件设置编译环境。C++代码示例包括基本函数、类、STL容器操作等,并通过PYBIND11_MODULE宏进行绑定。编译生成的.so文件可在Python中直接调用,实现跨语言交互。这种方法能有效提升Python程序的性能,同时保持Python的易用性。

2025-08-01 22:12:17 464

原创 高斯透镜公式(调整镜头与感光元件之间的距离时,使得不同距离的物体在感光元件上形成清晰的影像)

本文通过高斯透镜公式解释了定焦镜头成像原理。公式1/f=1/u+1/v表明,通过调整像距v(镜头到感光元件的距离),可使不同物距u的物体清晰成像。推导过程基于相似三角形关系,揭示了物距、像距与焦距的数学关系。同时指出针孔相机模型中的"焦距"与高斯透镜中像距v的相似性,但强调二者理论基础不同:针孔模型简化成像过程,而高斯透镜公式精确描述含透镜的光学系统。当针孔模型"焦距"增大时,其效果类似于增加高斯公式中的像距v。

2025-08-01 20:37:28 1471

原创 ROS安装配置及VSCode调试指南

本文介绍了ROS1的安装配置及Kalibr标定工具的使用。首先根据Ubuntu版本选择对应的ROS发行版(Kinetic/Melodic/Noetic),安装ROS桌面环境和catkin工具。接着配置构建依赖项,创建catkin工作空间并克隆Kalibr项目,使用Release模式编译代码。文中还提供了VS Code配置指南,包括安装ROS插件、编写.launch文件及调试设置。最后列举了ROS常用命令,如rosbag的播放、查看和裁剪操作,以及图像查看工具rqt_image_view的使用方法。

2025-07-27 19:18:07 1056

原创 通过不同坐标系下的两个向量,求解旋转矩阵

摘要:给定坐标系C中W坐标系的x轴方向向量𝐯ₓ和z轴方向向量𝐯_z(满足单位长度和正交性),可通过叉积𝐯_y=𝐯_z×𝐯ₓ得到y轴向量。旋转矩阵R的转置Rᵀ由这三个正交向量构成列向量[Rᵀ=[𝐯ₓ 𝐯_y 𝐯_z]],从而将点从C系转换到W系(𝐩_w=R𝐩_c)。该旋转矩阵实现了坐标系间的姿态转换。

2025-07-27 19:16:26 604

原创 旋转角度的正负由右手法则确定

三维空间中旋转角度的正负由右手法则确定:拇指指向旋转轴正方向时,四指弯曲方向为正向(逆时针)。旋转矩阵通过罗德里格斯公式构造,其中θ为带符号的旋转角度,K为旋转轴单位向量的叉积矩阵。常见坐标轴旋转示例包括绕z轴(θ>0时x转向y)、绕y轴(θ>0时z转向x)和绕x轴(θ>0时y转向z)的旋转矩阵,均体现角度正负对旋转方向的影响。

2025-07-26 17:31:08 1191

原创 通过不同坐标系下的同一向量,求解旋转矩阵

本文研究了从坐标系A到B的旋转矩阵求解问题,其中坐标系变换由两次旋转(x轴旋转α,y轴旋转β)组成。给定坐标系A中的向量a和其在B中的对应向量b,通过解析推导得到了旋转矩阵R=Ry(β)Rx(α)的求解方法。关键步骤包括:1)利用a_y=b_ycosα-b_zsinα解出α;2)将α代入其他方程解出β;3)构建完整旋转矩阵。文中给出了详细推导过程、注意事项以及适用于IMU姿态估计的C++实现代码,特别处理了重力方向等特殊情况。该方法在b_y²+b_z²≠0时有效,当a_y≠0时需改用最小二乘等更通用的

2025-07-26 17:24:55 1027

原创 不同场景下git指令的搭配

本文介绍了Git的基本配置与常用操作,包括账号设置、SSH密钥配置、仓库初始化与代码上传方法。详细说明了如何新建项目推送至GitHub或克隆已有仓库进行开发,并提供了分支管理技巧,如创建/切换分支、推送特定分支、清理远程分支等操作。同时解释了git fetch与pull的区别,强调fetch的安全性和查看远程更新的实用性,为开发者提供了完整的Git工作流程指南。

2025-07-17 23:15:00 879

原创 IMU噪声模型

摘要:Kalibr中的IMU噪声模型包含加性白噪声和零偏随机游走两部分。加性白噪声n(t)建模为高斯过程,其强度由噪声密度σ_g决定(单位:rad/s/√Hz或m/s²/√Hz)。零偏b(t)通过随机游走过程建模,变化率由随机游走系数σ_b决定。离散化时,白噪声方差与采样间隔Δt成反比(σ_gd=σ_g/√Δt),而零偏步长方差与Δt成正比(σ_bgd=σ_b√Δt)。Kalibr为每个IMU轴独立配置这些参数,正确设置对标定精度至关重要:低估σ_b会导致发散,高估会降低精度。

2025-07-17 23:00:00 838

原创 基于udev规则固定相机名称

摘要:固定USB摄像头设备名称的方法 当使用多个USB摄像头时,由于系统分配的设备名称(如/dev/video0、/dev/video2)可能变化,可以通过修改udev规则来固定设备名称。

2025-07-06 22:09:21 1238

原创 双目标定操作及配套代码、鱼眼单目标定

双目相机标定流程与验证 本文详细介绍了双目相机的标定流程,主要包括四个关键步骤:图像采集、单目内参标定、双目外参标定和结果验证。标定过程中强调图像多样性(多角度、多距离)对精度的影响,建议采用"三个距离+三个角度+两个高度"的拍摄原则。标定完成后需通过重投影误差(应<1像素)、基线长度一致性和极线对齐等多维度验证标定质量。实验表明,MATLAB在特征点匹配精度上优于OpenCV,而圆形和棋盘格标定板各有优劣。文中还提供了MATLAB实现的圆形标定代码,包括单目标和双目标定模块

2025-07-06 22:08:15 1396 1

原创 绕多个坐标轴旋转的旋转矩阵(内在旋转、外在旋转)

本文探讨了坐标系绕多个坐标轴转动的两类旋转方式:绕动坐标系的内在旋转和绕定坐标系的外在旋转。在内在旋转中,旋转矩阵右乘,相乘顺序与坐标系转动次序相同(P_A = R_AB R_BC P_C)。在外在旋转中,旋转矩阵左乘,相乘顺序与转动次序相反(P_A = R2 R1 P_C)。通过推导建立了同一旋转在不同坐标系下的转换关系(R^A = R_AB R^B R_AB^⊤),揭示了两种旋转方式的数学本质区别。

2025-06-25 00:40:43 1309

原创 几何矩、几何形状特征描述

OpenCV中的moments函数用于计算图像或轮廓的几何矩,包括原始矩、中心矩和归一化中心矩。这些矩描述了形状特征,如面积、质心、方向和分布。原始矩$M_{ij}$基于像素强度加权平均,中心矩$\mu_{pq}$具有平移不变性,归一化中心矩$\eta_{pq}$进一步提供尺度不变性。几何形状特征描述中,圆形度、惯性比、凸性和质心是重要参数:圆形度衡量与理想圆的相似度,惯性比计算形状偏离圆形的程度,凸性评估形状相对于凸包的紧凑性,质心则是形状的几何中心。

2025-06-25 00:23:09 1114

原创 RGB相机 vs 灰度相机

灰度相机与RGB相机的对比分析 灰度相机在灵敏度、分辨率、处理速度和成本效益方面表现突出,适合低光环境、高效处理和计算机视觉任务,但缺乏颜色信息。RGB相机提供丰富色彩,适用于摄影、医疗等需要颜色识别的场景,但存在光敏感度低、分辨率受限和计算需求高的缺点。选择相机类型需根据具体应用需求:性能优先选灰度相机,色彩优先选RGB相机。

2025-06-24 23:57:32 519

原创 棋盘格标定板和圆形标定板的优劣性

相机标定中,棋盘格和圆形标定板各有优势:棋盘格检测算法成熟、对光照变化鲁棒,但对离焦和遮挡敏感;圆形标定板对离焦和部分遮挡更鲁棒,适合高精度工业场景,但对光照均匀性要求较高。选择时需考虑应用场景:常规场景优先棋盘格,易离焦或工业检测优先圆形标定板。

2025-06-24 23:56:07 1239

原创 平面方程在不同坐标系下的变换与平移

本文探讨了平面方程在不同坐标系下的变换方法以及沿法向量移动的规律。主要内容包括: 坐标系变换: 世界坐标系平面方程通过旋转矩阵R和平移向量t转换到相机坐标系 新法向量n' = Rᵀn,常数项D' = nᵀt + D 提供了具体计算示例和验证方法 平面移动: 推导了点P0到平面Ax+By+Cz+D=0的距离公式 给出平面沿法向量移动距离d的公式:D' = D ± d·√(A²+B²+C²) 符号取决于移动方向(沿法向量方向或相反方向)

2025-06-07 21:49:53 1167

原创 cv2.stereoRectify中R1, R2, P1, P2, Q中每一个分量的物理意义

cv2.stereoRectify中R1, R2, P1, P2, Q中每一个分量的物理意义

2025-06-07 21:47:58 1102

原创 双目相机深度的误差分析(基线长度和相机焦距的选择)

探讨双目视觉系统中影响深度计算精度的关键因素,主要包括基线长度、相机焦距(像素单位)、视差匹配精度和物体距离。

2025-05-31 20:43:53 3828 2

原创 在 RK3588 上通过 VSCode 远程开发配置指南

本文提供在RK3588开发板上配置VSCode远程开发的完整流程。首先需要通过ADB连接设备并配置Wi-Fi网络,然后设置SSH服务(修改配置文件允许root登录和公钥验证)。接着生成本地SSH密钥并上传至RK3588实现免密登录,最后在VSCode中安装Remote-SSH插件完成远程连接。

2025-05-31 13:58:01 1923

原创 char类型既能表达字符又能表达整数

char类型既能表达字符有能表达整数

2025-05-24 15:19:21 739

原创 python虚拟环境修改配置访问系统包以及指定下载源

python虚拟环境修改配置访问系统包以及指定下载源

2025-05-24 15:14:03 509

原创 std::thread的说明与示例

std::thread的使用示例

2025-05-24 15:05:06 1191

原创 backward梯度返回顺序要求(forward的输入、backward的输出)

backward梯度返回顺序要求(forward的输入、backward的输出)

2025-05-05 19:23:46 437

原创 3DGS-slam:splatam公式

3DGS-slam:splatam公式

2025-05-05 18:30:12 1546

原创 math.atan2(y, x)

math.atan2(y, x)笔记

2025-05-02 12:56:25 627

原创 C++ 的 lambda 表达式

C++ 的 lambda 表达式

2025-05-02 12:54:11 710

原创 损失函数对逆协方差矩阵的梯度传播到原始协方差矩阵(3DGS)

损失函数对逆协方差矩阵的梯度传播到原始协方差矩阵(3DGS)

2025-05-02 12:46:25 915

原创 析构函数的虚函数作用

析构函数的虚函数作用

2025-03-18 19:21:28 480

原创 从信息熵上看图像

从信息熵上看图像

2025-03-18 19:16:04 1370

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除