树莓派安装编译realsense Ubuntu18.04+QT5.9.5+opencv
Ubuntu18.04+QT5.9.5+opencv)
一、Ubuntu18.04版本:
安装Ubuntu18.04桌面版
参考1:https://blog.csdn.net/weixin_48080038/article/details/121444326
参考2:https://zhuanlan.zhihu.com/p/413743940;
-
1.下载解压树莓派-Ubuntu18.04-桌面版(官网目前是22的)
链接:https://pan.baidu.com/s/1e9cSND_l332n3lsMZh5Tyw提取码:air1
解压找到下面文件备用
-
- 2.下载SD格式化和树莓派烧录工具
如果是空盘,在WINDOWS格式化也是可以的。
下面这个好像下载不了了。
格式化工具:https://www.sdcardformatter.com/download/
树莓派烧录镜像工具:https://www.raspberrypi.com/software/
-
- 3.格式化SD卡,烧录Ubuntu18.04
3.1选择用读卡器加载的SD卡,快速格式化
3.2在 此电脑 中右键SD卡格式化,选择NTFS格式(好像没必要)
-
3.3烧录SD卡
选择自定义镜像
选择系统
选择刚刚解压出来找到备用的镜像,点击,打开
选择SD卡
可以通过镜像工具的设置提前设置Ubuntu登录账号密码,省得开机后再设置,不要设置Wifi连接,没有用。
点击选择烧录,确定
等待烧录成功就行
-
4.直接将SD卡装到树莓派上,不用更改文件啥的
问题1:start4.elf is not compatible
问题2:第一次登陆Ubuntu,密码ubuntu,2次,才可以更改密码。;
编译安装RealSense
二、编译安装realsense
参考1:https://dev.intelrealsense.com/docs/compiling-librealsense-for-linux-ubuntu-guide
参考2:https://blog.csdn.net/qq_30150579/article/details/127136252
参考3:https://github.com/IntelRealSense/librealsense/blob/development/doc/installation.md
-
1.换源
CTRL+ALT+T 打开终端,输入命令打开sources.list文件
sudo gedit /etc/apt/sources.list
将原有的源用#注释掉,或者全部删掉
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.ustc.edu.cn/ubuntu-ports bionic main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports bionic main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports bionic-updates main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports bionic-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports bionic-backports main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports bionic-backports main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports bionic-security main restricted universe multiverse
# deb-src http://mirrors.ustc.edu.cn/ubuntu-ports bionic-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports bionic-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports bionic-proposed main restricted universe multiverse
建议换中科大源如上,编辑好后保存退出
更新源
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade
问题:ubuntu@ubuntu:~$ sudo apt-get upgrade
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
解决:
ubuntu@ubuntu:~$ sudo rm /var/lib/dpkg/lock-frontend
ubuntu@ubuntu:~$ sudo rm /var/lib/dpkg/lock
-
2.更新操作系统引导并重新启动以强制执行正确的内核选择(可以不用)
更新操作系统引导:
sudo update-grub
找不到update-grub命令先安装grub:
sudo apt-get install grub2-common
重启:
sudo reboot
- 3.安装构建librealsense二进制文件和受影响的内核模块所需的核心包: 特定于发行版的包:
sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
- 可能会有些包安装不了,如果提示是因为某些依赖的版本不对,可以用aptitude进行安装。参考:[https://blog.csdn.net/jgw2008/article/details/83414318](https://blog.csdn.net/jgw2008/article/details/83414318)
安装aptitude:
sudo apt-get install aptitude
使用aptitude安装以上核心包示例:
sudo aptitude install libglfw3-dev
一般会跳询问是否更换依赖的版本,第一个询问问的是是否保存现有版本,选择n,第二个询问问的是是否更改现有版本,选择Y,注意n和Y的大小写。前两个询问完后是询问是否安装,选择Y就行。
- 4.下载librealsense源文件,并进入librealsense文件夹:
git clone [https://github.com/IntelRealSense/librealsense.git](https://github.com/IntelRealSense/librealsense.git)
cd librealsense
- 5.安装位于 librealsense 源目录中的 Intel Realsense 权限脚本:
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger
-
6.内核补丁(可以不用)
参考1中提到需要打核心补丁,后续实测不一定要,命令:
./scripts/patch-realsense-ubuntu-lts.sh
如果核心不对会报错,提示要匹配的核心版本,本次使用的Ubuntu版本中的核心为4.19,不匹配,可以更换核心,但是还没成功过。
内核安装:
直接安装(推荐)
参考:[https://jingyan.baidu.com/article/17bd8e527a915085ab2bb89c.html](https://jingyan.baidu.com/article/17bd8e527a915085ab2bb89c.html)
搜索目前可安装的内核版本:
apt-cache search linux|grep linux-image
安装的话,需要注意,安装内核需要安装image和header,不能只安装其中一个。比如我现在安装一个linux-image-4.8.0-58-generic,就必须还要安装一个linux-headers-4.8.0-58-generic。
apt-get install linux-image-4.8.0-58-generic linux-headers-4.8.0-58-generic
- 内核选择和卸载(没选成功过,卸载不能卸载目前加载的内核)
参考:[https://www.freesion.com/article/3280706482/](https://www.freesion.com/article/3280706482/)
可以通过以下命令查看核心版本
uname -r
-
7.构建 librealsense2 SDK
定位到刚才下载的librealsense文件夹中,我的是在/home/nflg/librelsense
cd ~ #进入/home/nflg
cd librealsense
安装并运行cmake
apt install cmake
cmake ./ -DBUILD_EXAMPLES=true -DFORCE_RSUSB_BACKEND=ON
重新编译并安装librealsense
sudo make uninstall
make clean && make
sudo make install
库文件将安装`/usr/local/lib`头文件在`/usr/local/include`演示、教程和测试文件将被复制到`/usr/local/bin`
编译安装opencv
三、编译安装OpenCV
参考:https://zhuanlan.zhihu.com/p/473488905
-
1.安装依赖
安装过程中需要的工具
sudo apt install -y g++
sudo apt install -y cmake
sudo apt install -y make
sudo apt install -y wget unzip
安装opencv依赖的库
sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
-
2.下载opencv源码
安装4.5.0版本:4.5.2 也可以
wget -O opencv.zip [https://github.com/opencv/opencv/archive/4.5.0.zip](https://github.com/opencv/opencv/archive/4.5.0.zip)
其他版本可从[opencv官网](https://link.zhihu.com/?target=https://opencv.org/releases/)下载 下载完后解压缩并重命名为opencv(源码包大小大概90M):
unzip opencv.zip
mv opencv-4.5.0 opencv #这一步可以不用进行,解压完后文件夹为opencv-4.5.0,主要影响后续的命令,有些和文件夹名有关的更改就行
cd opencv
mkdir build
cd build
-
3.配置和编译OpenCV
3.1进入到下载好的opencv目录中,新建目录build并进入build目录
3.2使用cmake配置opencv
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES ..
命令说明: -D OPENCV_GENERATE_PKGCONFIG=YESOpenCV4以上默认不使用pkg-config,该编译选项开启生成opencv4.pc
3.3使用make编译、安装
make
sudo make install
-
4.环境配置
4.1配置pkg-config环境
opencv4.pc文件的默认路径为/usr/local/lib/pkgconfig/opencv4.pc,如果此目录下没有,可以使用以下命令搜索:
find / -iname opencv4.pc
[打开pkgconfig.sh](http://xn--pkgconfig-9q1rq60a.sh),将路径加入到PKG_CONFIG_PATH,在文件后面加入下面一行:
sudo gedit /etc/profile.d/pkgconfig.sh
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
保存并退出后激活:
source /etc/profile
验证是否成功:
pkg-config --libs opencv4
显示如下:
-L/usr/local/lib -lopencv_dnn -lopencv_highgui -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_video -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_core
4.2配置动态库环境
打开文件(可能为空文件),在该文件末尾加上OpenCV的lib路径:
sudo gedit /etc/ld.so.conf.d/opencv4.conf
/usr/local/lib #路径
使配置的路径生效:
sudo ldconfig
-
5.测试opencv,如果有摄像头会显示 hello opencv
cd 到源码opencv/samples/cpp/example_cmake目录下,依次执行以下命令
cd ..
cd samples/cpp/example_cmake
cmake .
make
./opencv_example
四、安装qt
参考1:https://www.csdn.net/tags/Mtjacg1sMjE4ODQtYmxvZwO0O0OO0O0O.html
参考2:https://wiki.qt.io/Install_Qt_5_on_Ubuntu
直接输入以下命令就好,如果编不过就把apt-get换成aptitude(参考二-3)
sudo apt-get update
sudo apt-get install qt5-default //安装默认基本库
sudo apt-get install qtcreator //注意:有时候报libc版本冲突问题,建议换回默认源
sudo apt-get install qtdeclarative5-dev //安装QtQuick
sudo apt-get install qtmultimedia5-dev //安装QtMultimedia
sudo apt-get install libqt5sql5-mysql //安装QtMySQL
sudo apt-get install libqt5charts5-dev //安装Qtchart
五、库的调用
直接复制文件夹或者文件到Qt就有对应的路径
库文件格式为xxx.so,库文件的位置:
/usr/local/lib/xxx.so
头文件格式为.h或者.hpp,头文件位置:
/usr/local/include/对应文件夹名/xxx.h
编辑包含路径
INCLUDEPATH +=/usr/local/include/ \
/usr/local/include/opencv4/ \
/usr/local/include/opencv4/opencv2
LIBS +=/usr/local/lib/lib*
六、-1
https://blog.csdn.net/xhtchina/article/details/116935077
第一种就行
1.Ubuntu点击进入设置->共享->屏幕共享
点击打开,在弹出框中选中允许连接控制屏幕并设置密码,网络点击打开
2.安装vncserver
sudo apt-get install xrdp vnc4server xbase-clients
3.取消掉请求加密的功能,安装dconf-editor工具进行配置
sudo apt-get install dconf-editor
在桌面搜索 dconf 打开,依次展开org->gnome->desktop->remote-access,然后取消 “requlre-encryption”的勾选即可
4.把Ubuntu的IP设置和Windows在同一个局域,使用Windows的远程桌面中的console或者vnc-any都可以
六、向日葵安装
参考:https://blog.csdn.net/Hacker_MAI/article/details/120735036
参考:(81条消息) ubuntu使用向日葵无法远控的修复记录_良知犹存的博客-CSDN博客
向日葵包下载地址:
更换背景:才可以被远程桌面连接
sudo apt-get install lightdm
sudo dpkg-reconfigure lightdm #选择lightdm
七、无线网卡TPLINK TL-WDN5200H免驱版
参考:TP-LINK无线网卡(TL-WDN5200H免驱版)在Ubuntu系统下的驱动安装 - 知乎 (zhihu.com)
参考:Ubuntu安装TL-WDN5200无线网卡驱动 - 简书 (jianshu.com)
-
驱动下载
-
安装步骤
将驱动文件下载、解压到电脑上,终端cd到驱动文件夹内后,执行如下命令[1,2]:
- make
- sudo make install
- sudo modprobe 8821cu
- lsusb (用于查看网卡,得到的结果里应该有0bda:1a2b)
- sudo usb_modeswitch -KW -v 0bda -p 1a2b
- 重启电脑,此后便可即插即用
7.放到bashrc里面,这样每次开机自动识别无线网卡
sudo gedit ~/.bashrc
脚本最后加一句
sudo usb_modeswitch -K -v 0bda -p 1a2b 再 source ~/.bashrc
八、文件传输
建议用向日葵,登录账户,远程文件传输
不行再用以下FileZilla方法(FileZilla 使用时需要与树莓派在同一个网络(wifi)内):
参考:(81条消息) ubuntu 与 windows 之间的文件互传_windows文件拖入ubuntu_安迪西的博客-CSDN博客
-
一、FileZilla下载 windows系统
- 下载免费的 FTP客户端软件 FileZilla,下载地址为:https://www.filezilla.cn/download
安装好后,打开 FileZilla ,界面如图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hmYnD631-1686886759532)(https://secure2.wostatic.cn/static/jnwdVZqrayJHPdq8gcCB2u/image.png)]
-
二、开启Ubuntu的FTP服务
sudo apt install vsftpd
本地、写入权限使能,首先打开 /etc/vsftpd.conf 进行配置
sudo vim /etc/vsftpd.conf
配置文件中 local_enable=YES,write_enable=YES ,保存退出
配置保存后,重启 FTP 服务
sudo /etc/init.d/vsftpd restart
至此,FTP服务已开启
- 三、FileZilla 客户端 连接 Ubuntu FTP 服务器,首先 再 Ubuntu 终端,获取 Ubuntu ip
ifconfig
FileZilla客户端输入ip ,如:sftp://192.168.100.133输入账户密码,并连接,即可文件互传
FIleZilla只能用在同一个局域网内,或者同一个WIFI下