- 博客(91)
- 资源 (2)
- 收藏
- 关注
原创 超大视野相机标定解决方案
超大视野标定中,编码标记点替代传统大平面板,实现低成本、高灵活性部署。其优势在于:点可分散布置于墙面、地面等非共面位置,覆盖全视野(含边缘畸变区),提升畸变模型精度;每个点自带身份,支持自动匹配与部分遮挡容错;结合光束法平差,可自标定相机参数与点三维坐标,仅需一根基准尺定尺度;适用于多相机、多站位统一坐标系及高精度中心定位(达0.04mm)。通过合理布点与拍摄设计,显著优于传统棋盘格方案。
2026-10-19 11:42:00
270
原创 形状模板匹配:从梯度特征到 LINE2D 搜索
设模板中的特征位置为 p,目标图中的对应位置为 q。其中,t = (tx, ty) 表示平移,θ 表示旋转角,s 表示尺度,R(θ) 为二维旋转矩阵。坐标原点和旋转中心应在实现中明确;改变旋转中心会影响平移项的定义。匹配任务就是寻找使特征一致程度较高的变换参数。实际搜索的自由度越多,计算与歧义也越多。流程搜索变量适用前提快速梯度匹配平移角度和尺度基本不变尺度匹配平移、离散尺度方向基本不变角度匹配平移、离散角度尺度基本不变抗噪声匹配平移、离散角度,并做局部位置精修。
2026-10-18 23:00:00
349
原创 TF、里程计漂移与回环检测
本文从rviz中无车模现象切入,详解TF坐标变换、里程计漂移成因及修正方法。通过实车与仿真区别分析,阐明map→odom→base_link→laser的TF链作用;揭示AMCL利用地图匹配实现长期定位纠偏,结合EKF融合IMU提升里程计精度;强调回环检测在建图阶段的关键作用——消除累积误差,优化地图闭合性。最终指出:精准融合里程计是回环检测有效性的基础,三者协同保障机器人导航可靠性。
2026-10-13 10:03:11
216
原创 相机标定终极科普:内参、畸变、外参、单目_双目标定全流程(附完整计算公式+实例)
本文系统解析相机标定核心原理,涵盖内参、畸变、外参的定义与数学关系,详解单目与双目标定差异,给出从3D点到像素坐标的完整投影公式及数值实例。强调内参与畸变为相机固有属性,外参随位姿变化;正向投影须先加畸变再用内参,顺序不可颠倒。通过实操案例验证计算流程,揭示90%新手误区:单目外参1图足矣,双目需20+组全局优化。内容兼具理论深度与工程实用性,是视觉定位、三维重建、双目测距的标定必读指南。
2026-10-12 13:31:17
238
原创 Kiro Gateway配置教程
KiroGateway是一款本地代理服务,可将Kiro(AWS/CodeWhisperer)无缝转换为OpenAI或Anthropic API兼容接口。通过配置Python环境、Git克隆项目、安装依赖并设置.env文件中的认证路径与API密钥,即可在VSCode、CLI中使用Claude模型。推荐通过KiroIDE登录获取凭证文件,配置后启动服务至localhost:8000。配合CCSwitch工具,实现VSCode中Claude代码补全功能,轻松替代OpenAI API使用。
2026-10-10 14:04:08
107
原创 [3D LiDAR SLAM]
3D LiDAR SLAM核心挑战在于实时性约束下的点云处理效率与多传感器紧耦合状态估计。相比2D SLAM,其面临6-DOF位姿估计、海量点云(10K–100K/帧)、严重运动畸变等难题。系统架构分为前端配准(ICP、NDT、特征法)、运动畸变补偿、后端优化(图优化/滤波)与回环检测四大模块。算法演进从LOAM到FAST-LIO2,直接法与增量式ikd-Tree显著提升实时性,尤其在低特征环境表现优异。工程落地中,kNN搜索、非线性优化、内存管理与外参标定是关键瓶颈。选型需根据传感器配置与场景需求:纯Li
2026-10-08 13:15:10
338
原创 【2D SLAM 的技术全貌】
2D SLAM 通过单线激光雷达实现机器人在平面环境中的定位与建图,核心为状态估计问题,依赖扫描匹配、后端优化、回环检测与地图构建四大模块。主流算法从滤波派(如Gmapping)演进至图优化派(如Cartographer),后者在大场景下表现更优。关键技术包括占据栅格地图更新、子图机制与分支定界回环检测。工程中需注意时间同步、TF链、传感器融合等细节。当前趋势聚焦多传感器融合、语义SLAM与端到端学习,部署时需优化粒子滤波与图优化性能。
2026-10-08 11:35:05
307
原创 opencv复现 Halcon 双相机拼接
读取写死的相机 division 参数。读取写死的两台相机 pose。针对每个物体场景,为左右相机施加一个局部平移,定义物体在世界平面中的放置位置。调用为左右相机生成世界平面的反向映射表。读取左右物体图像。调用 `remapWithMask` 完成重映射并生成有效域掩膜。调用 `stitchLikeHalcon` 做带掩膜约束的拼接。调用 `rotateCropMirror` 做旋转、裁剪和镜像。输出 `result_01.png` 到 `result_04.png`。
2026-10-08 11:13:31
257
原创 配置VNC sever 6.11.0版本 linux(激活码)
官网下载vnc senver6.11.0版本后,进入软件 不要选择用户密码名登录。有个licence选择。输入key 便可激活。
2026-09-29 14:29:37
229
原创 qt creator x86交叉编译arm 配置
该CMake配置显示了一个用于Qt6项目的调试版本构建设置。主要配置包括:构建类型设为Debug,启用彩色诊断输出,指定gcc编译器和Qt6相关路径(如/usr/lib/x86_64-linux-gnu/cmake/Qt6),设置临时安装目录为/tmp,并包含QML调试标志。部分变量如XKB相关路径未找到(NOTFOUND),同时配置了Qt Creator的包管理器和源码组支持。该配置面向Linux环境,使用Unix Makefiles生成系统,并设置了多个Qt6模块(Core、DBus、Gui、Widge
2026-07-29 13:23:01
49
原创 【deban13】系统 安装arm qt6.8.2
本文介绍了如何在Debian系统上配置ARM64架构的交叉编译环境,重点说明Qt6的跨平台编译方法。主要内容包括:1)配置清华镜像源;2)添加ARM64架构支持并安装交叉编译工具链;3)安装ARM64版本的Qt6开发库;4)创建CMake交叉编译工具链配置文件;5)进行Qt6程序交叉编译测试。通过这种方法,可以在x86_64主机上编译出可在ARM64设备上运行的Qt6程序,但目标设备仍需安装相应的Qt6运行时库。文章提供了详细的命令行操作步骤和配置文件内容,适用于需要为ARM平台开发Qt应用的情况。
2026-07-28 18:20:26
203
原创 snpe-VGG案例(uv环境-全流程 教程)
本文详细介绍了在Linux主机上使用Qualcomm SNPE SDK 2.21部署VGG16 ONNX模型的完整流程。内容包括: 环境配置:Python虚拟环境创建与依赖安装 模型准备:VGG16 ONNX模型下载与转换DLC格式 主机验证:CPU推理测试与结果验证 交叉编译:ARM64架构C++示例程序的编译 板端部署:将模型、工具和库文件传输到ARM设备 运行测试:在ARM设备上执行推理并验证结果 特别针对官方示例中Python环境配置问题,提供了多种解决方案,包括虚拟环境安装、PYTHONPATH设
2026-07-13 20:43:03
358
原创 SNPE 2.21:VGG16 Demo 交叉编译到 ARM64 Linux 并推理
本文详细介绍了在Ubuntu 20.04 x86_64主机上,将SNPE 2.21.0 SDK的VGG16 Demo交叉编译到ARM64 Linux板端并完成CPU推理的完整流程。主要内容包括:环境准备、交叉工具链安装、ONNX模型转换、DLC生成、Native C++ Demo交叉编译、板端部署与运行、结果拉取与Top-5展示等关键步骤。文章还提供了Yocto/OE目标板适配、GPU/DSP扩展和常见错误排查等进阶内容。通过流程图明确展示了从主机环境准备到最终推理验证的完整链路,并给出了详细的命令和检查点
2026-07-10 16:31:57
320
原创 libcurl Linux ARM交叉编译
SYSROOT:ARM64 (aarch64) 平台系统库、头文件根目录;交叉编译时,编译器会从此路径读取目标平台的.h头文件、.so/.a库,而非主机 x86 的系统文件。平台:x86 主机交叉编译 aarch64 (ARM64) 架构 curl;功能:仅支持,无 HTTPS、无压缩、无 HTTP2、无其他任何协议;依赖:完全不依赖第三方库,静态链接系统基础 libc;产物:安装到自定义目录,体积极小,适合资源受限的嵌入式 Linux 设备;
2026-07-09 13:33:56
318
原创 HIK相机SDK调用顺序导致采图异常
海康线扫相机采图异常问题排查总结 问题现象:调用海康SDK采图时出现图像异常,设置网口巨型帧后硬件采图正常,但软件显示仍异常。 根本原因:SDK调用时序错误。在OpenDevice之前就调用了GetOptimalPacketSize和GevSCPSPacketSize函数,导致参数配置未生效。 解决方法:调整SDK函数调用顺序,确保在打开设备后再进行参数配置。
2026-06-17 16:08:06
306
原创 点云统计滤波(基于中值距离)
本文介绍了一种基于统计滤波的点云离群点去除方法,通过KD-Tree加速邻域搜索,计算每个点的局部距离中位数,并基于全局中位数设定阈值筛选离群点。方法包含三个关键参数:搜索半径(0.05-1.0米)、最小邻居数(10-200)和阈值倍率(0.3-2.0)。通过多线程优化,构建多个KD-Tree实例并行处理,显著提升计算效率。实验结果显示,该方法能有效去除噪声点,同时保留主要结构特征,并通过左右对比可视化直观展示滤波效果。
2026-05-14 16:58:20
55
原创 Foundationpose环境配置【非conda--纯UV】(linux22.04+python3.10)
本文介绍了在禁用conda环境下复现FoundationPose的具体流程。主要步骤包括:1)安装gcc-10/g++-10编译器和CUDA11.8工具包;2)使用uv工具创建Python3.9虚拟环境并安装依赖;3)手动安装Kaolin和PyTorch3D的whl包;4)配置NVDiffRast编译环境,特别注意setuptools版本需为69.0.0;5)修改项目编译脚本并完成构建。整个过程涉及多个依赖项的版本控制,包括编译器、CUDA、Python包等,需要严格遵循指定版本要求以确保成功编译和运行。
2026-04-30 16:04:14
368
原创 关于halcon窗口画roi(线),发生偏移问题
摘要:使用Halcon绘制工具时发现图像放大后绘制位置存在1像素内偏差。经排查,原因是SetPart算子即使接收小数参数也会自动取整。解决方法是在调用SetPart前手动对参数进行强制取整,确保坐标精度准确。该问题在图像放大操作时尤为明显,通过主动控制参数类型可消除绘制偏差。
2026-03-24 13:38:00
46
原创 windows下VSCode配置C++/CMake/Qt/MVSC 开发环境 【电脑已经安装vs2022】
CMakeTool 中cmake Path选择qt安装路径下的Tool文件中。按照该文章配置msvc编译器即可。
2026-03-17 15:04:51
133
原创 CGAL点云的表面重建 流程概述
摘要:本文展示了一个标准化的3D点云处理流程,包含5个阶段:1)输入多种点云格式(XYZ/OFF/PLY/LAS);2)预处理(去噪/简化/平滑/法向估计);3)表面重建(推进前沿/尺度空间/泊松三种算法);4)后处理(补洞/网格优化);5)输出三角网格模型(OFF/PLY等格式)。该模块化流程支持灵活配置,适用于Kinect扫描、LiDAR数据处理等多种场景,是工业级点云处理的标准工作流模板。
2026-02-13 11:51:15
741
原创 XYZ、OFF、PLY、LAS/LAZ点云格式区别
摘要:本文对比分析了四种主流点云文件格式的核心特性。XYZ格式最为简单,仅存储坐标但缺乏元数据支持;OFF格式主要用于网格存储,点云支持较弱;PLY格式灵活通用,支持颜色、法向等属性,广泛应用于3D重建;LAS/LAZ为专业激光雷达格式,包含强度、分类码等传感器数据,是测绘行业标准。选择建议:简单交换用XYZ,3D扫描数据用PLY,激光雷达数据用LAS/LAZ。HALCON用户需注意其不支持直接读取LAS/LAZ格式。格式转换可使用CloudCompare、LASTools等工具。(150字)
2026-02-13 11:39:07
850
原创 pick_and_place_with_2d_matching_moving_cam.hdev *眼在手上 2D匹配,3D抓取【案例解析】
这段代码解析了两个关键函数,用于机器人抓取任务中的位姿准备和3D定位: prepare_poses_and_rectification_data_moving_cam函数核心功能: 构建与图像对齐的匹配平面,考虑物体高度 自动确定校正尺度(自适应分辨率) 预生成RectificationMap提高效率 确保平面法向量朝向合理(避免背面) 保持机器人原有位姿格式兼容性 obtain_3d_pose_of_match_moving_cam函数核心功能: 将2D形状匹配结果转换为3D位姿 处理有无图像校正两种场景
2026-01-22 16:08:36
950
原创 image_to_world_plane 如何计算校正图像(rectified image)的尺寸、比例(Scale)、位姿(Pose)
摘要:本文介绍了两种基于HDevelop的图像校正方法。第一种方法通过计算图像中心点的像素尺度(Scale),确保校正图像局部尺度与原始图像一致,并将指定点置于图像中心。第二种方法将原始图像边界映射到世界坐标系,计算最小外接矩形,保证整幅图像内容完整显示在校正图像中。两种方法分别封装为parameters_image_to_world_plane_centered和parameters_image_to_world_plane_entire过程,适用于不同应用场景。最终通过gen_image_to_worl
2026-01-21 10:39:54
278
原创 算子 image_to_world_plane
摘要:image_to_world_plane算子通过将图像投影到世界坐标系z=0平面实现图像校正,消除镜头和透视畸变。校正后图像尺寸由Width/Height参数指定,像素物理尺寸通过Scale参数设置(如'mm'表示1像素=1mm)。对于多图像处理,建议先使用gen_image_to_world_plane_map生成映射再应用map_image以提高效率。Scale值应与原始图像像素尺寸相近以避免混叠或过度平滑,其计算公式为:校正图像像素尺寸/标定靶标世界坐标单位(如靶标以米为单位时,'μm'表示1像
2026-01-21 10:33:03
736
原创 hom_mat3d_translate_local 和 hom_mat3d_translate 区别
HALCON中hom_mat3d_translate与hom_mat3d_translate_local的核心区别在于坐标系选择。前者在固定世界坐标系下平移(绝对方向),后者在当前物体局部坐标系下平移(相对方向)。例如,对旋转90度的夹爪,普通平移沿世界X轴移动,而_local版本则沿夹爪自身X轴移动。全局平移适用于固定方向定位,局部平移则适合工具微调、相对路径规划等场景。记忆要点:普通平移是"地图移动",_local是"自身移动"。
2026-01-20 17:20:31
391
原创 halcon 相机内/外参标定
摘要:相机内参决定你“能看到什么”, 外参决定你“看到的东西在哪里”。内参是相机的先天特性,外参是整个机械系统的后天状态
2026-01-20 11:06:21
987
原创 【two_camera_calibration.hdev】案例解析
摘要:本文介绍了基于相机标定的高精度图像拼接技术。通过内参和外参标定(Pose),将斜视图像校正为正射视图(Rectification),消除透视畸变。关键步骤包括:1)世界坐标对齐,通过齐次变换矩阵统一坐标系;2)无缝拼接控制,精确匹配第二幅图的校正原点与第一幅图右边界;3)高度补偿(DiffHeight)修正标定平面与物体平面的高度差。该方法采用预计算校正映射(Map)方案,实现高效处理。实验展示了双相机系统的拼接效果,验证了0.1mm/pixel精度的可行性,处理时间在毫秒级。
2026-01-20 10:36:26
370
原创 WSL+ubantu22.04+远程桌面+黑屏闪退解决
WSL(Windows Subsystem for Linux)是微软开发的在Windows中运行Linux的技术。安装步骤包括:1)启用WSL功能;2)下载并配置Ubuntu 20.04;3)创建用户并设置权限;4)配置虚拟桌面(xfce4+xrdp)解决闪退问题;5)安装中文支持。关键配置涉及用户管理、远程桌面服务和语言包安装,实现Windows与Linux的无缝集成。
2025-12-31 13:44:28
1390
原创 linux gdb-multiarch
gdb-multiarch是支持多架构调试的GDB版本,可用于交叉调试不同CPU架构(如ARM、AArch64、MIPS等)的程序。它适用于在x86主机上调试ARM开发板程序、分析CTF二进制文件或QEMU模拟环境。使用命令gdb-multiarch ./your_program启动调试,可通过show architecture查看目标架构,必要时用set architecture手动指定。还支持远程调试,在设备端运行gdbserver后,客户端通过target remote连接进行调试。
2025-11-20 09:33:41
633
原创 linux readelf 指令
readelf是Linux系统中用于分析ELF格式二进制文件的命令行工具,可查看可执行文件、共享库等的内部结构,但不会修改文件内容。它支持多种选项,如-h显示文件头、-d显示动态段信息等。典型应用包括检查依赖库(NEEDED条目)、分析程序结构等,尤其适用于交叉编译环境下的依赖排查和系统裁剪。如使用aarch64-linux-gnu-readelf -d libcurl.so | grep NEEDED可快速获取ARM64架构下curl库的运行时依赖,帮助解决缺失库或版本冲突问题。
2025-11-20 09:24:16
307
原创 linux patchelf工具 用法
摘要:patchelf是一款用于修改ELF格式二进制文件的Linux工具,无需重新编译源代码即可调整动态链接信息。主要功能包括修改解释器路径、设置动态库搜索路径(RPATH/RUNPATH)、替换/删除共享库依赖等。典型应用场景包括构建便携式应用、解决glibc兼容性问题、Docker镜像优化等。使用时需注意仅适用于动态链接程序,且修改后可能影响安全性功能。该工具为命令行程序,不同于开发库libelf,适合在构建部署流程中使用。
2025-11-20 09:12:18
885
原创 CMakeList 中 PUBLIC 和 PRIVATE的区别
CMake中target_include_directories的PUBLIC和PRIVATE关键字用于控制头文件路径的可见性: PUBLIC:当前目标及其所有依赖目标都可访问该路径,适用于公开接口头文件(如库的.h文件)。 PRIVATE:仅当前目标可访问,依赖目标无法继承,适用于内部私有头文件。 示例:公开头文件放在include/用PUBLIC声明,私有头文件放在src/用PRIVATE声明。这样依赖该库的可执行文件会自动获得公开头文件路径,但不会暴露私有实现。
2025-11-10 15:59:30
509
原创 CMake 构建库行为 与 C++ 编译器库 符号导出机制 区别
摘要:add_library(SHARED)和__declspec(dllexport)在Windows动态库开发中需配合使用。前者在CMake层面指定生成DLL/so/dylib,但不自动导出任何C++符号;后者是MSVC编译器指令,显式标记需要导出的类和函数。建议使用条件编译宏提高跨平台性,Windows需定义MYLIB_EXPORTS宏实现导出/导入切换,而Linux/macOS默认导出符号。两者协同工作:add_library决定是否生成DLL,dllexport控制DLL的对外接口。
2025-11-10 10:26:05
588
原创 vscode arm交叉编译 中 cmakeTools 编译器设置 和 交叉调试arm Linux程序
本文介绍了在VSCode中进行ARM交叉编译和调试的完整流程。首先需要安装VSCode和CMakeTools、Clangd插件,以及aarch64-linux-gnu交叉编译工具链。然后通过CMake快速入门创建项目,选择ARM编译器进行配置。调试部分需安装gdb-multiarch,并配置launch.json文件,设置可执行文件路径、调试器路径和目标设备IP地址。最后提供了Ubuntu镜像源更新方法以安装ARM版本库。该指南详细说明了从编译到调试的完整ARM开发环境搭建过程。
2025-11-04 14:02:38
671
原创 vscode clangd 插件第三方库头文件不识别
clangd 依赖文件来获取项目的编译命令和头文件路径。bearbear makebear生成后,,或者你在 VSCode 的 clangd 设置中手动指定其绝对路径3。
2025-11-04 11:31:28
564
原创 linux 编译程序 so库为什么要建立软链接
简单说,软链接就是 “库的别名”,一边对接编译 / 运行时的 “通用查找规则”,一边关联实际的库文件,既简化操作又保证版本可控。编译程序时,你只需要写 -lopencv_videoio(链接 OpenCV 的视频 IO 库),链接器会自动去找。一个库可能有多个版本(比如 OpenCV 4.2、4.3),通过软链接可以快速切换默认版本,无需修改代码或编译配置。),一旦库版本更新(比如升到 4.3.0),所有编译命令都要跟着改,非常麻烦。如果没有这个软链接,你得手动指定完整的版本名(比如 -
2025-11-04 09:49:22
411
原创 vb虚拟机网络模式与sshd服务 关系
windows通过ssh 虚拟机 可以进行文件传输。虚拟机网络模式:虚拟机的网络模式决定了虚拟机如何与宿主机(Host)以及外部网络(如互联网)进行通信。不同的模式适用于不同的使用场景。
2025-11-03 14:02:26
743
原创 linux vscode+cmake+clangd
摘要:本文介绍在Linux系统下配置VSCode+Cmake+Clangd开发环境的方法。重点解决Clangd Server安装失败问题,需通过命令行使用apt安装:执行sudo apt update && sudo apt install clangd。安装后需检查版本(clangd --version)、确认安装路径(which clangd),并在VSCode插件设置中正确关联Clangd路径,最后重启VSCode完成配置。该方案可有效解决网络原因导致的Clangd Server安装失
2025-11-03 09:45:45
416
foundationPose 个人构建数据集(model+depth+rgb)
2026-04-08
tensorRT推理(C++和python代码)
2025-02-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅