赞
踩
本篇博客属于原创,从0到1完整搭建了SLAM2的运行环境和相关测试,遇到的诸多问题请参照参考教程提供的博客地址去解决。制作不易,历经坎坷,虽说是作业,还请看官一键三联!!!多多支持。转载,二次创作,请附上本篇地址!
安装顺序:
#include <opencv3/highgui.hpp> #include <opencv2/opencv.hpp> using namespace cv; using namespace std; int main(int argc, char** argv) { CvPoint center; double scale = -3; IplImage* image = cvLoadImage("lena.jpg"); argc == 2? cvLoadImage(argv[1]) : 0; cvShowImage("Image", image); if (!image) return -1; center = cvPoint(image->width / 2, image->height / 2); for (int i = 0;i<image->height;i++) for (int j = 0;j<image->width;j++) { double dx = (double)(j - center.x) / center.x; double dy = (double)(i - center.y) / center.y; double weight = exp((dx*dx + dy*dy)*scale); uchar* ptr = &CV_IMAGE_ELEM(image, uchar, i, j * 3); ptr[0] = cvRound(ptr[0] * weight); ptr[1] = cvRound(ptr[1] * weight); ptr[2] = cvRound(ptr[2] * weight); } Mat src;Mat dst; src = cvarrToMat(image); cv::imwrite("test.png", src); cvNamedWindow("test",1); imshow("test", src); cvWaitKey(); return 0; }
安装过后,对官方提供的用例进行编译链接 执行可执行程序 HelloPangolin
文件结构如下:
cd Pangolin/examples/HelloPangolin
cmake .
make
./HelloPangolin
为了测试一下我们的ROS是否安装成功,这里我们来测试一个例程——小海龟仿真器。
打开一个新的终端(ctrl+alt+T),启动ROS Master。
roscore
再打开一个新的终端(ctrl+alt+T),启动小海龟仿真器。
rosrun turtlesim turtlesim_node
再打开一个新的终端(ctrl+alt+T),启动小海龟控制节点。
rosrun turtlesim turtle_teleop_key
数据集测试命令 在ORBSLAM2下终端输入命令
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/chen/catkin_ws/src/ORB_SLAM2/Downloads/rgbd_dataset_freiburg1_xyz
SLAM2 跑数据集
没有对笔记本摄像头进行位置标定前使用前置摄像头实时三维点云重建
//开启电脑的摄像头 主要启动文件是 usb_cam-test.launch,修改对应参数就可以实现摄像头的切换
//用于解决出现not usb_cam的错误
source ~/catkin_ws/devel/setup.bash
//开启摄像头
roslaunch usb_cam usb_cam-test.launch
//开始slam2进行重建
rosrun ORB_SLAM2 Mono ~/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt ~/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml
SLAM2 笔记本前置摄像头实时三维重建(未标定位置)
摄像头位置标定 详细博客可以参照下面两篇
Ubuntu18.04下USB摄像头运行和标定
摄像头标定跑通ORB_SLAM2
只说重点: 完成x y 的进度条之后,才可以进一步save 保存 commit提交。对于输出的压缩包内容和地址,则是需要注意的地方。标定结果保存在/tmp/calibrationdata.tar.gz这个压缩包,这个地方去文件-》其他位置-》计算机-》tmp文件夹下面。内容是多张图片和标记位置信息的txt格式文件和yaml格式文件。
将ost.yaml文件复制到ORB_SLAM2/Examples/Monocular文件下,将其中的参数改为ORB_SLAM2/Examples/Monocular/TUM1.yaml文件的格式。
SLAM2摄像头位置标定(花絮)
使用标定后的文件来实时输入图像信息,重建
rosrun ORB_SLAM2 Mono ~/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/chen/catkin_ws/src/ORB_SLAM2/Examples/Monocular/myUsbTUM.yaml
SLAM2 笔记本前置摄像头实时三维重建(标定位置)
计算机视觉是实现人工智能必不可少的一步,都说眼睛是心灵的窗户,是感知世界的第一道程序。同时,对于人工智能也是如此。通过摄像头将二维的图片结合上我们的算法,使得我们能够予以二维世界升级为三维世界的必要元素——时间。在一个虚拟的世界中构建出一比一还原的3D点云,计算机的核心大脑根据这个三维的世界作出对应的处理,amazing!
算法是最最最核心的,也是最难攻破的。作为一个计算机专业的学生,既对这个领域怀有强烈的好奇心,也对前人做出的贡献由衷敬佩。同时,作为CV通识教育课程,我的收获满满,熟悉Linux的操作方法,拥有两台电脑,问题解决的途径等等等。仅在此作为纪念。
https://pan.baidu.com/s/1zH-pn4x5bbArxb89hgXNPA 提取码: 8l25
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。