前言:
此时小伙伴们对“树莓派重启进去不了桌面”大概比较注意,同学们都需要学习一些“树莓派重启进去不了桌面”的相关内容。那么小编也在网络上网罗了一些对于“树莓派重启进去不了桌面””的相关知识,希望我们能喜欢,小伙伴们快快来学习一下吧!为树莓派配置OpenCV及QT1.安装raspbian系统1.1下载系统
树莓派系统官方下载链接:
这里有三个版本分别是:带桌面以及常用软件,仅桌面和不带桌面版本,可根据需要自行选择。
1.2准备空白SD卡
准备一张空白的SD卡,推荐大小为16G及以上,如果有一张含有内容的SD卡可以使用SDFormatter软件对SD卡进行格式化。如果只是单纯的将SD的内容删除是删不干净的,因为Windows系统下无法看到linux系统中的文件。
插入读卡器后软件会检测到SD卡,选择对应的硬盘格式化即可。
1.3写入系统
使用WWin32 Disk Imager软件将树莓派img系统文件烧入到SD卡中。
首先选择img文件,我下载的是仅桌面版本的系统
接着在Device出选择你的SD卡,通常会自动定位好,然后点击Write等待烧录完成。
1.4添加开机文件
添加ssh文件:右键新建一个文本文件将文件名改为ssh,同时将拓展名删除,该文件是为了是树莓派开启ssh服务。
添加wpa_supplicant.conf:新建文本文件重命名为wpa_supplicant.conf,并写入以下内容,该文件是用来配置WiFi
country=GBctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1network={ ssid="WiFi名" psk="密码" priority=5}
接着将这两个文件放去SD卡的根目录下
1.5远程登录使用putty软件用远程访问登录
这里的IP地址填写树莓派的IP地址,我选择通过进入路由器管理页面进行查看。
接着远程登录树莓派用户名pi,密码raspberry使用命令sudo raspi-config进行相应配置
默认开启图形界面
在树莓派设置中把根目录扩大到整个SD卡
命令行界面输入命令,进入树莓派配置界面。用上下键和左右键切换光标位置。
sudo raspi-config
第七行:Advanced Options
选择Expand Filesystem,将根目录扩展到这个SD卡,充分利用SD卡的存储空间。如果不进行这一步,后续命令会出现卡死。退出设置界面,重启树莓派。
sudo reboot软件换源
在树莓派的命令行界面输入
sudo nano /etc/apt/sources.list
使用键盘方向键控制,在第一行开头加一个#,把下面的内容拷贝到最后一行之后,如图中的效果:
deb stretch main contrib non-free rpideb-src stretch main contrib non-free rpi
先按键盘上的ctrl+o,再按回车保存,再按ctrl+x退出nano编辑器回到命令行界面。再输入以下命令更新到清华大学镜像源最新的软件列表。
sudo apt-get update
这个命令,会访问源列表里的每个网址,并读取软件列表,然后保存在树莓派本地。
以上步骤实现了Respbian的包管理器apt-get换源到清华大学软件镜像站,并更新了软件列表,今后在树莓派命令行中执行sudo apt-get install 软件名时便会自动从清华大学开源软件镜像站高速下载。
2.配置opencv2.1下载opencv
去opencv官网下载源文件以及contrib文件或者通过下面的命令
cdwget
然后解压至想要的位置
2.2安装opencv所需的库
sudo apt-get install build-essential git cmake pkg-config -ysudo apt-get install libjpeg8-dev -ysudo apt-get install libtiff5-dev -ysudo apt-get install libjasper-dev -ysudo apt-get install libpng12-dev -ysudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -ysudo apt-get install libgtk2.0-dev -ysudo apt-get install libatlas-base-dev gfortran -y2.3编译
设置编译参数
cd /home/pi/Downloads/opencv-3.4.0mkdir buildcd build
cmake编译
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-3.4.0/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON PYTHON3_EXECUTABLE=/usr/bin/python3.5 PYTHON_INCLUDE_DIR=/usr/include/python3.5 PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so PYTHON3_NUMPY_INCLUDE_DIRS=/home/pi/.local/lib/python3.5/site-packages/numpy/core/include ..
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-rasp -D OPENCV_EXTRA_MODULES_PATH=/home/pi/opencv/opencv_contrib-3.4.10/modules -D BUILD_EXAMPLES=ON -D WITH_LIBV4L=ON ..
备份build文件
1 //返回上层目录2 cd ..3 //备份release文件夹4 cp -r release ./release1
编译
make//出现错误提示无法写入的时候使用sudo命令sudo make2.4报错及解决
下面几种错误是最常见的,基本没遇见过其他问题
fatal error: boostdesc_bgm.i: No such file or directory
解决方式:
采用的是源码编译的方式,所以可以查看 build 文件夹下的日志文件 CMakeDownloadLog.txt,在日志文件CMakeDownloadLog.txt中搜索 boostdesc_bgm.i 关键词 (不是在文件夹中搜索), 发现这个文件下载失败了。日志文件里就有它的下载地址,直接复制其下载地址到网页可以看该到文件的源码,直接拷贝源码并生存同名文件,放在 opencv_contrib/modules/xfeatures2d/src/ 路径下即可。
总共缺了以下几个文件,都需要拷贝:
boostdesc_bgm.iboostdesc_bgm_bi.iboostdesc_bgm_hd.iboostdesc_lbgm.iboostdesc_binboost_064.iboostdesc_binboost_128.iboostdesc_binboost_256.ivgg_generated_120.ivgg_generated_64.ivgg_generated_80.ivgg_generated_48.i
报错2
/home/pi/opencv/opencv-3.4.10/modules/stitching/include/opencv2/stitching/detail/matchers.hpp:52:12: fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directory # include "opencv2/xfeatures2d/cuda.hpp"
去到对应路径找到文件
打开
替换
#include "/home/pi/opencv/opencv_contrib-3.4.10/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp"
重新编译 sudo make
错误3
/home/pi/opencv/opencv-3.4.10/modules/stitching/src/precomp.hpp:91:12: fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directory # include "opencv2/xfeatures2d/cuda.hpp"
打开文件
替换
#include "/home/pi/opencv/opencv_contrib-3.4.10/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp"
重新编译 sudo make
错误4
/home/pi/opencv/opencv-3.4.10/modules/stitching/src/matchers.cpp:52:10: fatal error: opencv2/xfeatures2d.hpp: No such file or directory #include "opencv2/xfeatures2d.hpp"
打开文件
替换
#include "/home/pi/opencv/opencv_contrib-3.4.10/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp"
重新编译 sudo make
错误5
/home/pi/opencv/opencv_contrib-3.4.10/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp:43:10: fatal error: opencv2/xfeatures2d/nonfree.hpp: No such file or directory #include "opencv2/xfeatures2d/nonfree.hpp"
打开文件
替换
#include "/home/pi/opencv/opencv_contrib-3.4.10/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp"
重新编译 sudo make
完成后
1 // 安装2 sudo make install3 4 // 更新动态链接库5 sudo ldconfig
设置库的路径,相当于windows下的环境变量,便于使用OpenCV库,也可以不进行设置,使用的时候说明路径也可。例如在编译时说明使用库的路径是 -L/usr/local/lib
2.5配置opencv.conf
打开opencv.conf配置文件,在末端加入如下内容:
复制代码
//这里我使用的是树莓派默认的nano,也可以使用vim、gedit.打开opencv.conf文件sudo nano /etc/ld.so.conf.d/opencv.conf//在末端添加如下内容//注意:?表示一个空格,可能原因是有的语言要求最后有一个空格才可以编译通过。/usr/local/lib?//加载一下sudo ldconfig2.6打开 bash.bashrc 配置文件
1 //打开bash.bashrc配置文件2 sudo gedit /etc/bash.bashrc3 4 5 // 在最后添加如下内容6 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 7 export PKG_CONFIG_PATH
查看版本:
pkg-config --modversion opencv
重启树莓派
复制代码
sudo reboot3.安装QT3.1直接安装
通过以下命令可直接安装qt
sudo apt-get install qt5-default //安装默认基本库sudo apt-get install qtcreatorsudo apt-get install qtdeclarative5-dev //安装QtQuicksudo apt-get install qtmultimedia5-dev //安装QtMultimediaapt-get install libqt5sql5-mysql //安装QtMySQL
这里有五个命令,但通常只用到前面两个命令,可根据需要自行选择。
这种方法安装的qt无法自行选择版本,如果想要特定版本的qt可以用源码的方式编译安装
3.2源码安装3.2.1源码下载
Qt 5.9.9 源码下载:
Qt Creator选择安装4.11.0版本,这是为了与我电脑版本相对应。
Qt Creator 源码下载:
3.2.2 编译
我们这里需要先编译Qt 5.9.9,然后再编译Qt Creator,因为Qt Creator其实是用Qt写的,所以只有我们把Qt编译好了,才可以去编译Qt Creator
交换空间增大
sudo nano /etc/dphys-swapfile
将CON_SWAPSIZE=100修改为CON_SWAPSIZE=1024
然后执行下面的命令:
sudo /etc/init.d/dphys-swapfile stopsudo /etc/init.d/dphys-swapfile start
安装依赖
sudo apt-get build-dep qt4-x11sudo apt-get build-dep libqt5gui5sudo apt-get install libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0 libclipper-dev
如果出现错误可以先更新一下软件
sudo apt-get updatesudo apt-get updrade
解压源码
tar -xvf qt-everywhere-src-5.9.9.tar.xz
新建文件夹用来编译
mkdir buildcd build
下载树莓派的编译配置文件
git clone
放到Qt的源代码中。具体为:
common/raspberrypi.conf 放到 /qtbase/mkspecs/common/
linux-rpi2-g++ , linux-rpi3-g++ , linux-rpi-g++ , linux-rpi-vc4-g++ , linux-rpi4-v3d-g++ 这4个文件夹放到 /qtbase/mkspecs/中
配置编译选项
这里我新建了一个文件夹qt5.9.9位于/home/pi/qt5.9.9,在里面新建了build文件夹,同时将qt-everywhere-opensource-src-5.9.9移至qt5.9.9文件夹中
进入build文件夹中执行下面的命令:
PKG_CONFIG_LIBDIR=/usr/lib/arm-linux-gnueabihf/pkgconfig:/usr/share/pkgconfig \/home/pi/qt5.9.9/qt-everywhere-opensource-src-5.9.9/configure -platform linux-rpi4-v3d-g++ \-D__ARM_ARCH_5TEJ__ \-v \-opengl es2 -eglfs \-no-gtk \-opensource -confirm-license -release \-reduce-exports \-force-pkg-config \-nomake examples -no-compile-examples \-skip qtwayland \-skip qtwebengine \-no-feature-geoservices_mapboxgl \-qt-pcre \-no-pch \-ssl \-evdev \-system-freetype \-fontconfig \-glib \-prefix /opt/Qt5.9 \-qpa eglfs \-qt-xcb
注意:大家的树莓派版本可能不一样,如果是4B,则选择linux-rpi4-v3d-g++ 编译,如果是3B,则选择linux-rpi3-g++ 编译,以此类推。如果没有错误,会出现跟下面的图片基本一致:
3.3QT下配置opencv
在pro文件中添加如下代码:
INCLUDEPATH +=usr/local/include/opencv \ usr/local/include/opencv2LIBS +=/usr/local/lib/libopencv_*
即如下图所示:
卸载QT
sudo apt purge qt5*
标签: #树莓派重启进去不了桌面