视觉SLAM14讲第二版ch5代码演示

环境:ubuntu20.04 双系统
决定像书上一样使用KDevelop来运行代码。(好处是可以直接运行现有的程序)

第一步 先将ch5导入KDevelop编译

点击工程,点击打开导入工程,然后选择你要导入的工程就可以了。点击构建(这里会报错,暂时不要管)然后点击运行里选择配置启动 然后添加ch5里所有所有能够运行的文件
在这里插入图片描述然后点击运行选择当前启动配置选择一个可以运行的ch5文件,然后点击调试旁的执行文件,观查报的错误然后改正。
joinMap
在这里插入图片描述错误与ch4里遇到的一样:ch4
在这里插入图片描述
解决后编译发现报/usr/local/include/sigslot/signal.hpp:109:79: error: ‘decay_t’ is not a member of ‘std’; did you mean ‘decay’?错误
可以在将CMakeLists中set(CMAKE_CXX_FLAGS “-std=c++11”)注释掉即可
#set(CMAKE_CXX_FLAGS “-std=c++11”)
在这里插入图片描述
然后发现报请在有pose.txt的目录下运行此程序的错误
直接将pose.txt文件放到build 里的rgbd文件里面,同时,将color和depth文件一起放入(防止不出现图像)
在这里插入图片描述
然后运行joinMap
在这里插入图片描述在这里插入图片描述

第二步安装opencv

1.首先,打开终端并输入以下命令,安装 OpenCV 依赖项:

sudo apt update
sudo apt install -y build-essential cmake git pkg-config
sudo apt install -y libjpeg-dev libtiff-dev libjasper-dev libpng-dev
sudo apt install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt install -y libxvidcore-dev libx264-dev
sudo apt install -y libgtk-3-dev
sudo apt install -y libatlas-base-dev gfortran
sudo apt install -y python3-dev

注意在运行第三行命令的时候可能会遇到E: 无法定位软件包 libjasper-dev的问题,解决办法:

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt upgrade
sudo apt install libjasper1 libjasper-dev

2.使用 git 下载 OpenCV 源代码:(国内镜像)

git clone https://gitcode.net/opencv/opencv.git

3.进入 OpenCV 目录并创建一个 build 目录

cd opencv
mkdir build
cd build

4.使用 cmake 命令进行编译

cmake -D CMAKE_BUILD_TYPE=RELEASE \  -D CMAKE_INSTALL_PREFIX=/usr/local \  -D INSTALL_PYTHON_EXAMPLES=ON \   -D INSTALL_C_EXAMPLES=OFF \  -D OPENCV_GENERATE_PKGCONFIG=ON \  -D PYTHON_EXECUTABLE=/usr/bin/python3.8 \   -D BUILD_EXAMPLES=ON ..

5.编译和安装 OpenCV

make -j4
sudo make install
sudo ldconfig

6.验证安装

python3 -c "import cv2; print(cv2.__version__)"

如果验证安装步骤输出了 OpenCV 的版本号,则说明安装成功。

扫描二维码关注公众号,回复: 16151733 查看本文章

第三步运行stereoVision文件

遇到问题:terminate called after throwing an instance of ‘cv::Exception
我直接把要加载的两张图片left.png,right.png复制到可执行文件的目录下(build里的stereo文件里)
然后点击运行
在这里插入图片描述在这里插入图片描述

第四步运行imageBasics文件

运行undistortlmage文件可以直接运行出来
在这里插入图片描述
运行imageBasics文件时候会出现错误:
在这里插入图片描述
这里提示的是代码的问题,我们进入代码文件,把图片的路径给他。

string image_file = "./ubuntu.png"; 

然后在下面更改名

  image = cv::imread(image_file);

在这里插入图片描述
点击运行,会产生图片。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_56895840/article/details/131077055
今日推荐