室内导航--机器视觉、ROS、Goseek(二)Ubuntu 20.04 LTS 准备

在上一篇主要介绍了所实现室内导航系统的功能概况和所使用到的室内、编程环境,以及编程语言。在这一篇中将会介绍所用到的操作系统 Ubuntu 20.04 LTS。

一、选择 Ubuntu 20.04 LTS 的原因

因为日常使用的依赖包适配性问题,一直以来我也是使用 Ubuntu 18.04 LTS 的桌面版,但万物难逃真香定律,Ubuntu 20.04 发布至今大多数依赖包已经完成了适配,并且 20.04 使用起来比 18.04 顺畅很多。

因为使用的 ROS 版本是 ROS Noetic Ninjemys,要求使用的便是 Ubuntu 20.04,如果不是此版本的操作系统,是无法安装完成的。

而选择 ROS Noetic Ninjemys 的原因就是,此版本的 ROS 是 R1 的最后一个版本,并且使用 Python3

以前开发 Nao 的应用,使用 Python2 就是一个噩梦,我再也不想使用 Python2 开发(许多 Python 模块难以使用,甚至没有 Python2 版本)。

二、硬件条件

以下提出的 硬件条件,只是我个人的一个建议,读者自行决定自己的硬件环境。

因为现在大多数人使用的都是 Win10,所以很多人第一时间的反应就是使用 虚拟机,一个 VMware 就可以搞定。

在很早以前,当我使用 Docker 之后,便抛弃了 VM,这个虚拟机实在太慢了,而且很耗资源。再之后需要使用 Ubuntu 桌面版,就索性买了个 128G 的 固态硬盘,装个 Ubuntu 系统,即查即用,方便得不要不要的。

为了使开发环境使用流畅一点,所以必须的硬件条件还是要好一点的:

  • 主板:i5 2.50GHz
  • 内存:8G
  • 硬盘:128G固态
  • 显卡:xxx

三、Ubuntu 20.04 LTS 系统安装

以下介绍的是一个非常简单的 Ubuntu 20.04 LTS 操作系统安装方法,读者可以自行决定选择。

  1. 准备一个 128G 的 固态硬盘,以及相对应接口适合使用的 硬盘盒
  2. 准备一个 4G的 移动U盘,用来安装 Ubuntu 20.04 LTS 的 PE 系统。
  3. 移动U盘 上安装 Ubuntu 20.04 LTS Desktop PE 系统,参考 Ubuntu 官方 的 PE 系统制作例子。
  4. 固态硬盘 上安装 Ubuntu 20.04 LTS Desktop 操作系统,参考 Ubuntu 官方 的 安装 Ubuntu 桌面系统例子。
  5. 注意:选择磁盘安装时,一定要选择加装连接的 固态硬盘,一般是最后一个盘号(sda,sdb,sdc),以 a,b,c 为顺序。
  6. 另外:尽量选择英文语言的系统,因为这样使用终端命令操作才是最方便的。

经过以上的一系列操作,当你进入系统时就会见到一个豹子?在盯着你看,恭喜你,你已经成功安装了 Ubuntu 20.04 LTS Desktop。

官方的例子才是最好的!有关于 Ubuntu 的相关问题,可以在 官方 网站寻找解决的办法。实在不行请自行百度、必应、Google 吧~

### 安装支持 CUDA 的 OpenCV 为了在 Ubuntu 20.04 上成功安装带有 CUDA 支持的 OpenCV,需遵循一系列特定步骤来确保兼容性和性能优化。以下是详细的指南: #### 准备工作环境 更新现有包列表并升级已安装软件包至最新版本[^1]。 ```bash sudo apt update && sudo apt upgrade -y ``` #### 安装依赖项 安装构建工具和其他必要的库文件。这一步骤对于后续编译过程至关重要。 ```bash sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev protobuf-compiler \ libgoogle-glog-dev libgflags-dev libeigen3-dev \ libopenblas-dev liblapack-dev checkinstall yasm \ libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev \ libxvidcore-dev x264 v4l-utils ffmpeg qtbase5-dev \ qtchooser qt5-qmake qtbase5-dev-tools libvtk7-dev \ libdc1394-22-dev libharfbuzz-dev libfreetype6-dev \ libfontconfig1-dev libglu1-mesa-dev wget unzip curl \ doxygen graphviz imagemagick libprotobuf-dev \ libsuitesparse-dev libassimp-dev libceres-dev \ libpcl-dev libboost-all-dev libjsoncpp-dev \ libyaml-cpp-dev libgdal-dev libspatialindex-dev \ libgeos++-dev libqhull-dev libflann-dev \ libtinyxml2-dev liburdfdom-dev libconsole-bridge-dev \ ros-noetic-turtlebot3-msgs ros-noetic-sensor-msgs \ ros-noetic-nav-msgs ros-noetic-actionlib msgpack-python \ msgpack-cxx libopencv-contrib-dev libopencv-features2d-dev \ libopencv-flann-dev libopencv-highgui-dev libopencv-imgcodecs-dev \ libopencv-imgproc-dev libopencv-ml-dev libopencv-objdetect-dev \ libopencv-photo-dev libopencv-shape-dev libopencv-stitching-dev \ libopencv-superres-dev libopencv-ts-dev libopencv-video-dev \ libopencv-videostab-dev libopencv-xfeatures2d-dev \ libopencv-ximgproc-dev libopencv-aruco-dev libopencv-bgsegm-dev \ libopencv-bioinspired-dev libopencv_ccalib-dev \ libopencv-cvv-dev libopencv-datasets-dev \ libopencv-dpm-dev libopencv-face-dev libopencv-fuzzy-dev \ libopencv-hfs-dev libopencv-line_descriptor-dev \ libopencv-optflow-dev libopencv-phase_unwrapping-dev \ libopencv-plot-dev libopencv-reg-dev libopencv-rapid-dev \ libopencv-rgbd-dev libopencv-saliency-dev \ libopencv-sfm-dev libopencv-stereo-dev libopencv-structured_light-dev \ libopencv-text-dev libopencv-tracking-dev libopencv-wechat_qrcode-dev \ libopencv_xphoto-dev ``` 注意:上述命令中的部分依赖可能并非全部必需;具体需求取决于个人项目要求以及所使用的OpenCV模块[^2]。 #### 配置 NVIDIA 开发环境 下载并安装适用于系统的NVIDIA驱动程序、CUDA Toolkit 和 cuDNN SDK 。访问[NVIDIA官方网站](https://developer.nvidia.com/cuda-downloads),按照提示完成相应组件的选择与部署。 验证CUDA安装是否正确无误: ```bash nvcc --version nvidia-smi ``` #### 获取源码并编译 克隆官方GitHub仓库获取最新的OpenCV源代码,并切换到目标分支或标签页(此处假设为`master`)。创建一个新的构建目录用于存放生成文件,执行CMake配置脚本指定启用GPU加速选项以及其他个性化设置参数。 ```bash git clone https://github.com/opencv/opencv.git ~/opencv cd ~/opencv mkdir build cd build cmake .. -D CMAKE_BUILD_TYPE=Release \ -D WITH_CUDA=ON \ -D ENABLE_FAST_MATH=ON \ -D CUDA_ARCH_BIN="8.6" \ # 替换为你自己的 GPU 架构编号 -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ .. ``` > **重要**: `OPENCV_EXTRA_MODULES_PATH`指向额外功能模块路径,在此之前还需另行clone opencv_contrib仓库以解锁更多特性支持。 启动多线程模式加快编译速度,最后打包成deb格式便于分发给其他机器使用或者直接本地安装。 ```bash make -j$(nproc) sudo make install ``` 至此,已完成整个流程的操作说明。通过以上步骤可以实现Ubuntu 20.04 LTS平台上顺利搭建起一套完整的基于CUDA硬件加速特性的计算机视觉开发框架——OpenCV。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值