- 博客(26)
- 收藏
- 关注
原创 如何通过拟合平面找到lidar点云数据intensity导数
一开始完全不懂,但是如果我们已经有这个平面方程,对x求导就是coefficient a,对y求导就是coefficient b,常数项在求导的时候直接被抹去了,但是在拟合平面的时候是我们需要的,所以它在点坐标A加了1列1, 对应的就是在求导数时不见的常数项,但是拟合平面的时候十分重要的常数。然后取所有邻居点的坐标,每行加了最后为1的列,ok不明白为什么,但是接着向下看,b是临近点对应的intensity, 它用。我是知识的搬运工,尝试弄懂chat老师给我写的代码,我的思考历程是这样的。
2024-06-03 17:31:24
227
原创 点云数据计算曲率和open3d的python代码实现
其中,Λi是包含特征值 λi1,λi2,λi3(排序使得 λi1≤λi2≤λi3λi1≤λi2≤λi3)的对角矩阵,Vi是对应特征向量的矩阵。这个公式中,λi1 是最小特征值,它通常对应于点在局部表面法线方向上的分布,而分母是所有特征值的总和,表示总的分布范围。综上所述,这种方法通过邻域搜索、协方差矩阵计算和特征值分解来确定每个点的局部几何特性,从而计算出点云表面的曲率。对于点云中的每个点,我们计算其邻域的协方差矩阵。协方差矩阵的特征值给我们提供了关于点在不同方向上的分布的信息。
2024-05-27 18:00:01
1527
原创 一文搞懂pcd文件数据结构+如何读取pcd.bin文件(原理版和open3d简易版)
这篇文章介绍了pcd文件的数据结构及原理,我介绍了读取pcd bin file的简易方法以及使用open3d直接读取的简易方法(真的非常简便),如果你不想看原理直接拉到最后就好 :)
2024-05-17 18:14:48
1353
原创 双目视觉标定-5. 人脸目标检测以及深度预测OpenCV项目代码
首先引入一个最完美的模型,左右相机在一条水平线上,他们的参数也是相同的,假设这两个相机都已经相机标定且校正,那他们如图所示。我们会发现,明明是拍摄同一物体,但是在左右相机上成像的位置却不同。他们像素位置之间的差异叫做视差Disparity这个系列可以完结撒花了,我最近应该会持续修改到最佳版本,之后我继续搞别的,大懒蛋继续做内容的搬运工。
2024-05-06 20:56:12
1089
1
原创 双目视觉标定-4. 双目视觉标定与校正之OpenCV代码入门篇
world scaling 你可以换成你使用的chessboard每一格的真实大小,要注意之后的单位都和你使用的单位一致了。由于我们左右两侧都需要进行camera calibration,所以我们把它封装成一个方程,然后调用两次。这一篇就是集我们学到的东西大成者,没有看过这三篇文章的请点击下面的链接看这三篇文章。第一部分跟以前是一样的,我们需要对左右两侧相机分别进行相机标定。调用程序进行相机标定,并且获取最优的相机内参矩阵。
2024-05-03 22:21:35
1304
3
原创 双目视觉标定-3.Stereo Calibration双目视觉标定理论
还没有阅读前两篇的朋友请点击下面的文章进行阅读,它们是读懂这篇文章的基础!双目视觉是人们感知物体深度的一种方法,Stereo Calibration的stereo是两个的意思。人类的双目视觉启发了计算机双目视觉的探索,在这一篇文章中,我会向大家介绍如何进行双目视觉相机标定,后续几篇会陆续写不同的应用(目标检测,计算深度),又给自己挖坑,以后填不上,我就回来把这句话删除哈哈哈哈。
2024-05-03 20:50:41
1261
原创 双目视觉标定-1.视觉成像理论知识
step1:利用外参矩阵(其中包含旋转矩阵和平移向量),把真实世界的点投影到相机世界step2:利用内参矩阵(相机内置参数,比如焦距,光学中心),把相机世界的点投射到2d pixel的图像世界%5Cgamma。
2024-05-02 17:55:40
1164
3
原创 显示照片并输出鼠标点击处坐标,解决opencv显示图片不全的问题
opencv在使用cv2.imshow()显示图片时,是在指定窗口中显示图片,若在调用cv2.imshow()函数之前,没有调用创建窗口的函数,则默认使用cv2.WINDOW_AUTOSIZE标记创建默认窗口,如果需要显示大于屏幕分辨率的图像,则需要在使用cv2.imshow()之前调用cv2.namedWindow("", cv2.WINDOW_NORMAL)点击照片就可以返回相应点的坐标,按esc就退出了,展示window的方法写不好很容易报错,要注意检查有没有写image的名字哦。
2024-05-02 16:27:52
540
3
原创 将本地代码一键git上github(保姆级教程)
5. 使用 git Push 将本地存储库中提交的更改推送到 GitHub 上的远程存储库。git commit -m "xxx" "xxx"是每次上传的时候你留下的注释,以后可以回溯上传状态。可以查看这篇文章debug,需要生成一个新的token,类似于账号密码的一个新的东西。2.打开终端,cd到你存储代码的本地文件夹,在本地文件夹中初始化一个新的git文件夹。如果显示下面的消息,那恭喜你成功把本地文件上传到你创建的github文件夹里面了。1.在github上创建一个新的文件夹。
2024-04-18 16:13:46
393
1
原创 remote: Support for password authentication was removed on August 13, 2021 保姆级教程
5.假设你已经把本地文件夹import到github上面了,那么在这个文件夹内输入git push origin master,输入你的github用户名,在密码那行复制你刚才生成的token, 然后就可以成功运行了:)从 2021 年 8 月 13 日开始,GitHub 已停止接受用于验证用户帐户上的 Git 操作的密码。编辑token的名字,选择no expiration,然后按照下面的图片选择空格。2.最左面那栏最下面点击Devloper Settings。1.点击个人头像之后点击Settings。
2024-04-18 15:46:35
176
1
原创 ubuntu18.04 melodic ROS机器人入门|学习以及Debug记录(第一章)
视频中的教程用的是Noetic搭配的是Ubuntu20.04,我的系统是ubuntu18.04,记录一些有出入的地方以及debug记录
2024-04-17 15:27:28
968
1
原创 VirtualHand SDK/CyberHand III 手套连接及配置
3.打开手套的power switch,一直连接在cg3wireless的无线网络下,在serial port redirector界面就会自动连接上,同时可以观察盒子上的闪烁的灯光,如果有红色灯光,说明连接有问题。此时出现的bug是左手套的port号码是5200,一直无法连接上去,换成了5220就可以了,应该是房间中还有其他的设备用了相同的通信频段,或者是相似的,进行了干扰。我们在这里不需要连接WAN口,因为其实不需要一个实际“有网”的环境,只是为了创建一个可以连接手套的局域网。
2023-06-02 11:10:54
413
2
原创 51单片机入门-LED控制程序
代码如下:流水灯的管脚定义的是P1,我们想点亮的LED1也是与P1的最低位相接//将单片机P1口的最低位定义为led1led1 = 0;数字区间0-65535while(1){P1 = 0xFE;delay(100);P1 = 0xFD;delay(100);P1 = 0xFB;delay(100);P1 = 0xF7;delay(100);P1 = 0xEF;delay(100);P1 = 0xDF;delay(100);P1 = 0xBF;delay(100);
2023-05-05 13:53:10
2762
原创 51单片机入门-开发板介绍及软件安装
节选自8位单片机8位指什么?- 知乎 (zhihu.com)8位单片机的8位是指单片机的“字长”,也就是一次运算中参与运算的数据长度,这个位是指二进制位。如果总线宽度与CPU一次处理的数据宽度相同,则这个宽度就是所说的单片机位数。8位单片机内部运算器(累加器)一次可以处理的8位二进制数的位数,对于8位单片机,8位二进制数的加减乘除等运算都可以用一条指令来完成,其内部的寄存器也多是8位的。了解实际上的板子是怎么连接的,以及了解每个部分的排线。
2023-05-04 14:59:51
1159
原创 f-scan足底压力分析二:对象、单元统计、绘制压力数据图表、ASCII DATA
在一些病人中,这种紧缩是先天性的(出生时就存在),有时是一种遗传性的特征。膝盖骨也被称为髌骨。5.保存ASCII文件,如果保存的是帧数据,那么名字后缀是_F,如果保存的是影片数据,那么名字后缀是_M,如果保存的是力度中心,那么名字后缀是_C。可以把它改变成percentage,例如,如果你的对象覆盖了窗口内所有加载的单元格的一半,那么图形内显示的单元格的总百分比将等于50%3.如果选择COF, 每一帧的COF的坐标将会被保存,ASCII文件是一连串的坐标,如果这个帧里没有数据,那么输出的是(-1,-1)
2023-03-27 13:55:47
1571
原创 算法训练营笔记第十一天|20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值
在更多的地方上应用了栈的模型,方便了运算,以后也可以在相似的地方上进行这样的思考。而且感觉学习越来越顺了,学习是有用的。一般来说看完视频就可以大致敲出来代码,然后自己慢慢debug,实在不行就去看老师的标准答案用时:3h 中间还和同学闲聊了一会,真实时间应该小于3h。
2023-03-13 17:15:25
168
原创 VS code 面向小白的一些使用方法
2021/8/3记录一下从B站https://www.bilibili.com/video/BV1wy4y1v7Rz?from=search&seid=4954686992781119206学习到的一些东西假装你自己已经配置完环境了,就是把mingw的bin目录的路径放到环境变量里面了 1.首先页面里面只有左边的一个竖条区和右面的代码区,然后这个时候要把下面的终端显示区调出来,我要是有啥术语有问题,希望朋友们及时指正。把鼠标移到最下方,它会变成双箭头,den它!你...
2021-08-03 22:04:41
435
原创 VS CODE 问题 undefined reference to `WinMain@16‘
写的第一个程序,就是一个hello world程序,然后本来在电脑自带的cmd窗口可以运行,所以应该不是啥mingw的问题,环境应该是配置得没有问题。把bug图贴一下一开始以为下面的是问题error: ld returned 1 exit status,去网上查了之后发现这个语句意味着前边问题的总结,也就是个总结语句,啥用不管,然后往前看发现了undefined reference to `WinMain@16'上网搜就发现了有位博主也有相同的错误,就是文件没有保存,顿时我就很...
2021-08-03 16:22:13
1683
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人