用简单代码实现功能
文章平均质量分 52
用简单代码实现一些功能
似乎很多是基于opencv实现的,感谢opencv封装好的一些函数
相比于那些大佬写的又打又复杂的代码,又难看懂又不会用,我更喜欢这种能基于自己的理解,写出来的更为本质而且可以自己灵活更改的代码。
诗晓涵
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
100行代码实现串口与UDP透传/wifi数传
UDP与串口透传,或者说UDP与串口互转,本质是把串口接收到的字符数组/整型数组通过UDP发送出去,把UDP接收到的字符数组/整型数组通过串口发送出去。不管叫字符数组还是整型数组,对应内存存储以及传输的二进制或者十六进制都是一样的。原创 2024-06-29 18:07:32 · 2136 阅读 · 0 评论 -
aruco二维码检测与aruco二维码降落原理讲解 20240422
aruco又称为aruco标记、aruco标签、aruco二维码等,其中 CharucoBoard GridBoard AprilTag 原理相通,只是生成字典不同,而AprilTag用于机器人领域或可编程摄像头比较多,而aruco CharucoBoard GridBoard则用于AR应用或智能眼镜比较多,都是用于实现精准定位,如无人机降落时就可以使用它实现精准降落。ArUco marker是一种汉明码方格图。原创 2024-04-22 21:22:10 · 6652 阅读 · 7 评论 -
坐标系间的旋转角度是90度的倍数时,其旋转矩阵是可以一眼写出来的,不管左乘还是右乘。
下面这个相机系在机体系下的旋转矩阵就可以写成这样,直接根据x y z轴的对应关系,比如机体系x的正对应相机系y的负,所以旋转矩阵里对应机体系x和相机系y的地方就是-1。所以其实从这个层面看,不管是左乘还是右乘,只是表示方式不同,对应的实际旋转是一样的。坐标系间的旋转是90度的倍数,其旋转矩阵是可以一眼写出来的,不管左乘还是右乘。只需要分别取三个在三个坐标轴上的点就可以了。有相关性的就有值,因为没有缩放,所以不是1就是-1。原创 2024-04-16 17:30:17 · 780 阅读 · 0 评论 -
Eigen::Matrix3d类型用<<赋值编译会出现如does not name a type的报错的原因和解决方法
最后我把代码丢给chatgpt而且说报错是这样,chatgpt分析出是我赋值没有写在main函数里的原因,我把赋值写在main函数里面后果然就没有does not name a type的报错了。Eigen::Matrix3d类型用原创 2024-04-14 09:38:05 · 659 阅读 · 0 评论 -
aruco二维码检测原理详解与基于opencv的代码实现(自己详细整理)
aruco又称为aruco标记、aruco标签、aruco二维码等,其中 CharucoBoard GridBoard AprilTag 原理相通,只是生成字典不同,而AprilTag用于机器人领域或可编程摄像头比较多,而aruco CharucoBoard GridBoard则用于AR应用或智能眼镜比较多,都是用于实现精准定位,如无人机降落时就可以使用它实现精准降落。ArUco marker是一种汉明码方格图。原创 2024-04-03 20:52:39 · 25843 阅读 · 18 评论 -
基于eigen计算TUM数据集中已知世界系位姿的两幅图片的相对位姿
基于eigen计算TUM数据集中已知绝对位姿的两幅图片的相对位姿。原创 2024-03-20 09:17:15 · 290 阅读 · 0 评论 -
比较快速便捷构建可导航栅格地图的方式:位姿+深度图或激光雷达点云+octomap_server功能包构建八叉树地图
比较快速便捷构建可导航地图的方式:位姿+深度图或激光雷达点云+octomap_server功能包构建八叉树地图。基于T265和D435i octomap。T265+2D激光点云+octomap。原创 2024-03-13 11:24:57 · 1021 阅读 · 0 评论 -
写TCP UDP以及串口通信时,整型数组转字符串数组发送的便捷操作
串口通信一个udp通信,发送接口函数都是发送字符串,但是你看那个串口的发送函数ser.write(serial_msg);,注意长度由73改为了72,因为字符串数组一般末尾还会加上个"\0",所以长度会多1,这么改完编译,没有问题,运行,也控制了吊舱转动到指定角度了,看来我的理解是OK的,这么我以后可能不用专门再把整型数组转为一个二进制相同的转义字符串数组了,现在是用reinterpret_cast函数转的,以前我还更麻烦,手动写个转义字符数组出来。原创 2024-03-11 09:44:19 · 717 阅读 · 1 评论 -
opencv里面目前个人用得比较多的就是feature2d和calib3D这两个模块
弄特征点检测匹配 feature2d已经xfeature2d会用到。弄多视图几何,calib3D会用得多一些。原创 2024-03-07 15:10:52 · 500 阅读 · 0 评论 -
基于opencv快速实现图像拼接
直接使用OpenCV提供的Stitcher进行拼接,简单快捷(来自。转载 2024-03-07 15:04:50 · 406 阅读 · 0 评论 -
opencv借助ffmpeg读取sdp文件进行rtp拉流 20231019
opencvj借助于ffmpeg读取sdp文件拉流,虽然终端很多报红,但是显示出来了。延时哟两三秒左右,运行平台是OrinNX。ffmpeg装起来很快。原创 2024-03-06 07:32:15 · 795 阅读 · 0 评论 -
自己写简单的aruco二维码检测代码
我让chatgpt写了下,感觉还是挺棒的,这样可以做到自己写aruco二维码检测了。 std::cout原创 2024-03-05 19:40:53 · 1698 阅读 · 0 评论 -
QR二维码检测ROS节点
代码来自2023中国机器人与人工智能大赛微型自主赛项 Magpie350资源包。QR二维码检测ROS节点。原创 2024-03-05 18:50:48 · 814 阅读 · 0 评论 -
一个非常简短的USB摄像头ROS节点的编写
代码来自2023中国机器人与人工智能大赛微型自主赛项 Magpie350资源包。一个非常简短的USB摄像头ROS节点的编写。原创 2024-03-05 18:48:42 · 587 阅读 · 0 评论 -
简单的基于opencv实现的KCF框选跟踪
注意按键盘"s"之后就不要移动摄像头了,直到框选完,敲完回车后再移动摄像头,因为框选的时候是画面静止的,是按键盘"s"时截图的那时的图像,来框选,如果框选的时候摄像头图像移动过大,可能导致敲回车的时候开始跟踪新的摄像头帧已经没有那个框选的物体了或者距离大了,导致没法跟了或者跟踪失败,但是我测了一次,框选的时候摄像头移动,开始跟踪后显示跟踪失败,但是我摄像头移动回去,又自动识别到并开始跟踪了,看来鲁棒性也还是有一点的,之前框选的信息应该是存着的,就算中途丢了,后面摄像头图像帧重新检测到还是能继续跟的。原创 2024-03-05 10:29:03 · 1627 阅读 · 0 评论 -
代码实现rtsp推流拉流的方法(自己总结)
理论上两种方法都可以实现硬件软件编解码这个也可以参考。原创 2024-03-05 09:31:17 · 2947 阅读 · 2 评论 -
USB摄像头可以用videoCapture(0)或者videoCapture(“ dev video0“)打开,都是可以的
USB摄像头可以用videoCapture(0)或者videoCapture(" dev video0")打开,都是可以的原创 2024-03-05 09:27:56 · 869 阅读 · 0 评论 -
无人机巡线原理讲解
巡线节点得到角度和横向偏移量。原创 2024-03-04 13:59:00 · 1524 阅读 · 0 评论 -
T265定点指点基本原理与极简代码实现
对应掩码位置为1为不使用,为0为使用,所以想通过/mavros/setpoint_raw/local话题给无人机发送期望位置与偏航,type_mask赋值为0b100111111000,即可实现,注意coordinate_frame 需要赋值,一般为1,即为本地系。//启动服务2,设置客户端(Client)名称为set_mode_client,客户端的类型为ros::ServiceClient,//发布之前需要公告,并获取句柄,发布的消息体的类型为:geometry_msgs::PoseStamped。原创 2024-02-21 13:04:04 · 2135 阅读 · 0 评论
分享